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