【发布时间】:2013-11-26 15:28:17
【问题描述】:
在 Android 中播放包含 AAC(在 MP4 容器中)的内存缓冲区是否有合理的方法?我无法将此缓冲区写入磁盘...必须从内存中播放。
似乎我唯一的选择是手动解码为 PCM 并使用 AudioTrack,因为 Android 不公开任何播放非 PCM 内存缓冲区的 API。 OpenSL ES 支持内存源,但 Android 没有实现这一点。
【问题讨论】:
-
Android 的 Java 是否提供了任何一种内存映射文件工具?我对这个平台不太熟悉,我正在四处寻找类似的东西。如果有这样一个类,并且它返回一个 FileDescriptor 对象,那么您应该能够将它传递给 MediaPlayer.setDataSource()。
-
我不知道。您可以使用管道来获取文件描述符(可能需要在本机代码中完成),但文件描述符将不可搜索,因此无法对播放器正常工作。