我正在尝试使用opensl从uri流式传输音频文件。我想立即播放它,但也可以在播放器播放完文件后访问流数据。
我知道数据在内存中,因为我可以在流式音频播放过程中使用搜索。此外,当播放器播放流式音频文件时,我停止播放器,将播放器位置设置为“0”,我可以再次开始播放音频。
我需要访问这些数据,但它在哪里?我可以以某种方式得到它的指针吗?
答案 0 :(得分:0)
如果您通过网络传输内容,我不确定您尝试做的是否可行。
但是,从Android API 14开始,可以使用音频播放器设备将内容解码为PCM格式的缓冲区队列数据源。
有关此内容的更多信息,请查看NDK文档/docs/opensles/index.html
将音频解码为PCM注意:此功能在API级别14可用 更高。标准音频播放器播放到音频设备,和 数据接收器被指定为输出混合。但是,作为Android 扩展,如果数据,音频播放器反而充当解码器 source被指定为URI或Android文件描述符数据定位器 MIME数据格式,数据接收器是Android简单缓冲区 具有PCM数据格式的队列数据定位器。