我当前正在尝试记录音频流,该音频在MediaPlayer
中播放。
实际上,我发现了一些博客文章,说这是由于安全/版权原因,不可能实现,但是我找不到来自Android / Google文档的任何官方声明。此外,还有屏幕捕获[可以记录内部音频的Mobizen之类的应用(至少三星设备似乎可用)。
有人可以告诉,如果
AudioRecorder
录制在MediaPlayer
中播放的流?我现在不确定我是否要进入黑暗的一面吗?
我已经尝试回答的第二个问题:
MediaRecorder.AudioSource
,但全部录制了麦克风MediaPlayer
伴随新的Android 10 API,终于有了AudioPlaybackCapture
API。
此API使应用程序能够复制其他应用程序正在播放的音频。此功能类似于屏幕捕获,但适用于音频。
我个人还没有测试过,但是根据开发指南,这是捕获音频的必要步骤。
捕获音频所需的权限:
该应用程序必须具有RECORD_AUDIO
权限。
应用程序必须显示RECORD_AUDIO
显示的提示,并且用户必须批准它。
捕获和播放应用程序必须在同一用户配置文件中。
要捕获音频,您需要构建一个MediaProjectionManager.createScreenCaptureIntent()
对象并将MediaProjectionManager.createScreenCaptureIntent()
添加到其中:
调用AudioRecord
以建立一个AudioRecord
。
通过调用AudioPlaybackCaptureConfiguration
将配置传递到AudioPlaybackCaptureConfiguration
。
您还可以通过AudioPlaybackCaptureConfiguration.Builder.build()
或AudioPlaybackCaptureConfiguration.Builder.build()
限制捕获,请参见:AudioPlaybackCaptureConfiguration
我强烈建议您签出AudioPlaybackCaptureConfiguration
。
限制
很少有设备可以在Android 10上运行。谷歌尚未发布其市场份额,但我们可以猜测,它最多不到10%,这是Android 9.0的市场份额。
AudioRecord
在截至2019年5月7日的7天内收集的数据。未显示分布低于0.1%的任何版本。来源:setAudioPlaybackCaptureConfig