Dav*_* R. 12 audio mp3 android decoding
简短版本:将MP3(并且理想情况下是AAC/Ogg/WMA)中的数据编码成Java阵列或ByteBuffer的最佳方法是什么?
我正在整理一个程序,它将减慢和加速声音文件作为其功能之一.这适用于WAV文件,这是一个标题加上需要发送到扬声器的确切二进制数据,现在我需要为MP3实现它(理想情况下,这也支持AAC,Ogg和WMA,但是那些不太受欢迎的格式,这不是必需的).Android没有公开接口来解码MP3而不播放它,所以我需要创建该接口.
虽然我对其他人开放,但有三种选择可供选择:
1)编写我自己的解码器.我已经有一个功能帧检测器,我希望用于选项(3),现在应该只需要实现霍夫曼解码表.
2)使用JLayer或等效的Java库来处理解码.我不清楚这里的许可证后果是什么.
3)连接到libmedia库/ MediaPlayerService.这就是SoundPool所做的事情,而且该服务的使用量使我相信,虽然它正式不稳定,但实现并不是任何地方.这意味着编写JNI代码以连接到服务,但我发现这是一个很深的兔子洞.在表面上,我遇到了sp <>模板的问题.
小智 1
我用 libmad 和 NDK 做到了这一点。JLayer 速度很慢,媒体框架是一个移动目标。您可以在http://apistudios.com/hosted/marzec/badlogic/wordpress/?p=231找到信息和源代码
| 归档时间: |
|
| 查看次数: |
6574 次 |
| 最近记录: |