如何在 Android 设备上录制内部音频或录制 MediaPlayer 音频流?

lon*_*ngi 11 android android-mediaplayer android-audiorecord

我目前正在尝试录制MediaPlayer.

实际上我找到了一些博客文章,说由于安全/版权原因这是不可能的,但我找不到来自 Android/Google 文档的任何官方声明。此外,还有像 Mobizen 这样的屏幕截图应用程序可以记录内部音频(至少三星设备似乎可以工作)。

所以有人可以告诉,如果

  1. 官方不允许/支持内部音频?
  2. 它可以记录与流AudioRecorder这是在玩MediaPlayer

我不太确定我现在是否正在进入黑暗面?

我已经尝试回答第二个问题:

  • 录制不同MediaRecorder.AudioSource,但都录制麦克风
  • 找到逐字节记录,但这不适用于MediaPlayer

Gas*_*hio 9

随着新的 Android 10 API 的出现,终于有了一个AudioPlaybackCaptureAPI。

此 API 使应用程序能够复制其他应用程序正在播放的音频。此功能类似于屏幕捕获,但用于音频。

我个人尚未对其进行测试,但以下是根据开发指南捕获音频所需的步骤。

捕获音频所需的权限:

要捕获音频,您需要构建一个AudioRecord对象并将其添加AudioPlaybackCaptureConfiguration到其中:

  1. 调用AudioPlaybackCaptureConfiguration.Builder.build()构建一个AudioPlaybackCaptureConfiguration.
  2. AudioRecord通过调用将配置传递给setAudioPlaybackCaptureConfig

您还可以通过AUDIO_USAGE或 a约束捕获UID,请参阅:通过音频内容约束捕获

我强烈建议您查看Android 开发指南

限制

2020 年 9 月 1 日更新:据 StatCounter 称,Android 10.0 现在占 Android 市场份额的 29.04%。

手机和平板安卓版全球市场份额

2019 年 7 月至 2020 年 7 月全球移动和平板电脑 Android 版本市场份额。来源:StatCounter


老回答: Android 上运行的设备很少, 10. 谷歌还没有公布市场份额,但我们可以猜测最多不到10%,也就是Android 9.0 的市场份额。

在 2019 年 5 月 7 日结束的 7 天期间收集的数据。不显示分布小于 0.1% 的任何版本。

在 2019 年 5 月 7 日结束的 7 天期间收集的数据。不显示分布小于 0.1% 的任何版本。来源:分发仪表板