- 论坛徽章:
- 1
|
回复 10# TerranceHsieh
4KB?不懂~是指檔案大小還是說bitsPerSample
不過wav也是有許多格式~
一般opensles只能播放pcm 16bit / pcm 8bit 未壓縮過的格式
遇到4bit已壓縮的一定播不出來(adpcm imapcm ......)很多~
你有看到文件中關於android只支援的格式嗎
所以我有在加其他的 library 來解決這問題
傳入buffer是可以的我是採用這方式在播放音樂的
只是你想問什麼?
你沒把問提說出來~只說弄不出來
難道要我幫你寫
我以為你要問播放結束要做的動作才回答~誤會大了
而且我要跟你說喔~
如果是4kb大小的音訊
也要看立體聲還是1/2聲道還有要看samplerrte去控制播放速率等等
所以放進buffer裡的絕不是你看到的文件大小
---------------------------------------
多谢多谢哈.... 其实是这样的
我说的4K是指4096字节的PCM文件数据 16bit的, android支持pcm格式的,因为他的audio track java调用就可以播放PCM (目前是用的这种方法....效率略差,应付一下还可以)
关于速率类的 就是44100 2信道... 固定的....
我的问题是: 如何将已经在内存中的 4096 pcm数据 送入 opensl_es 播放函数...... -->因为我现在实现的的方式是 读取本地的文件,通过fd来读取播放
这个问题的背景是,我的音乐数据是通过网络传送到本地的,每次4096, 但是如果按照目前的方式 只能是写入到文件,再调用 播放函数 读取fd 来播放,
所以我在寻求一种将4096 pcm数据 直接送入播放函数, 就是找不到方法..... 贴小片例子给俺看看吧..
你很热心,看好你噢.... |
|