【问题标题】:Android custom audio player to replace MediaPlayer with libPd or OpenSL ES or AudioTrackAndroid 自定义音频播放器,用 libPd 或 OpenSL ES 或 AudioTrack 替换 MediaPlayer
【发布时间】:2014-01-28 10:51:46
【问题描述】:

我已经使用 MediaPlayer API 开发了 Streaming Audio 应用程序。所有功能都可以正常工作,预计开始播放需要更多时间(缓冲时间更多)。

我想添加录制实时音频流(将实时流数据保存在磁盘中,而不是来自 MIC 的录制)。由于 MediaPlayer 不提供任何 API 来访问原始数据流,我计划构建自定义音频播放器。

我想控制缓冲时间,访问原始音频流,应该能够播放android原生支持的所有音频格式。哪个 api(libPd 或 OpenSL ES 或 AudioTrack)适合在 Android 中构建自定义音频播放器?

【问题讨论】:

  • AudioTrack 只播放原始 PCM,所以除非你想包含一个单独的解码器,否则它会被淘汰。

标签: android audio media-player audio-streaming audio-recording


【解决方案1】:

根据我的经验,OpenSL_ES 将是选择,这里有一个Link,它解释了如何进行音频流传输,您可能会发现它很有用。 bufferframes 决定了您在播放前将收集多少样本,因此较小的 bufferframes 可以加快响应时间,但您必须在这与您的设备处理能力之间取得平衡。

【讨论】:

    【解决方案2】:

    您也可以使用 libpd (pd-for-android) 进行录制。 所有的录制过程都由 libpd 管理。 检查 ScenePlayer 项目,它使用 libpd 并允许您将音频录制到 sdcard 上的文件夹中:

    https://github.com/libpd/pd-for-android/tree/master/ScenePlayer

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 2012-12-23
      • 1970-01-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多