Flutter 应用中的录音/屏幕录制

问题描述 投票:0回答:1

我正在使用 Android 版 Flutter 创建一个语音会议应用程序,我想添加一个功能来录制从我的应用程序播放的音频(通话中其他人的音频)以及用户在麦克风中所说的任何内容同时。但我尝试了不同的方法,但似乎不起作用。

我设法使用“记录”颤振包从用户麦克风实现音频录制,但我无法录制其余的音频。甚至屏幕录制也不起作用,我计划稍后从中提取音频(尽管效率相当低)。我也尝试过使用 Kotlin 方法通道来实现相同的目的,但未能实现我的目标。

android flutter kotlin dart audio-recording
1个回答
0
投票

由于平台限制和隐私问题,同时录制麦克风输入和音频输出的音频(从应用程序播放的内容,包括会议应用程序中其他参与者的声音)可能具有挑战性。

在 Android 中,从其他应用程序或系统捕获音频输出通常需要特殊权限或系统级访问权限,而出于安全和隐私原因,这通常受到限制。同样,由于平台限制,不直接支持使用 Flutter 或任何其他框架捕获音频输出。

但是,您可以考虑一些可能的解决方法和替代方法:

服务器上的音频混合:您可以将麦克风输入和音频输出(从其他参与者接收到)发送到服务器,在服务器上进行混合然后进行录制,而不是在设备上本地捕获音频。这需要您控制服务器端的实现。 屏幕录制:正如您所提到的,录制屏幕可能会捕获音频输出以及麦克风输入。然而,这种方法可能效率低下,并且可能无法提供所需的质量。此外,从视频文件中提取音频也会增加复杂性。 特定于平台的解决方案:研究 Android 中用于捕获音频输出的特定于平台的 API 或库。这可能涉及使用平台通道直接在 Flutter 应用程序中使用 Java 或 Kotlin 代码。 自定义 ROM 或已取得 Root 权限的设备:在已取得 Root 权限的设备或自定义 ROM 上,可能可以选择从其他应用程序访问音频流。但是,不建议将这种方法用于生产应用程序,并且可能会违反平台策略。 重新考虑隐私和权限:请记住从其他应用程序或系统捕获音频输出的隐私影响。用户可能不喜欢应用程序在未经明确许可的情况下访问其他来源的音频。 咨询法律专家:根据您的应用程序的使用案例和司法管辖区,可能需要考虑法律影响,特别是在隐私和未经同意的情况下录制音频方面。

© www.soinside.com 2019 - 2024. All rights reserved.