免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hanzhenlll
打印 上一主题 下一主题

音频处理高手来-----各位谁熟悉opensles 音频播放...... [复制链接]

论坛徽章:
1
射手座
日期:2014-08-04 16:49:43
11 [报告]
发表于 2011-12-30 15:20 |只看该作者
回复 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数据 直接送入播放函数,  就是找不到方法.....  贴小片例子给俺看看吧..

你很热心,看好你噢....

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
12 [报告]
发表于 2015-02-11 10:27 |只看该作者
你好,我想问下,我想通过 api “GetPlayState”判断一个音效是否已经停止;可是发现音效停止后,没有手动stop,得到的值仍然是playing;请问如果音效自动播完,这个参数内部不会自动将其改成stop吗?回复 10# TerranceHsieh


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP