哪位高人能告诉我android利用ndk开发音频应用时,如何读取音频源文件的? 条件是不能利用java的接口,所以我也不确定这种纯C的方式可不可行。如果哪位大哥有实现过,麻烦赐教下!非常感谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 会纯 C 实现读取 wave 文件吗?如果会,使用 NDK 就可以了。 是新手,没用过,但是如果这种方式可行的话,可以立马去尝试。是只能读取wave的文件吗?NDK的例子好像是处理的PCM 。我想知道有没有哪种方式可以直接将.mp3(或者其他格式)文件读取播放就可以了的?或者有其他的方法能够帮我总结个思路也OK。非常感谢!!! mp3 格式很复杂,原理上肯定没有问题;问题是 android 已经支持了 mp3player 了,不用这样重复发明了吧。 mp3要做decoder的,如果自己做,比较麻烦了。可以尝试用opencore/stagefright看一下。不过这个要自己琢磨了,貌似没有放出来的C接口的例子。如果只是个wave文件或者raw的pcm文件,那就太简单了。直接读文件,然后write出去就可以了。 Boss要求必须要用ndk的native实现。不可以用Java,甚至JNI都不可以,需要用纯C实现。所以想确定下ndk提供的接口是不是确实没法直接读取这些音频文件? ndk 里面是有opensl es支持音频的。opencore/stagefright好像不支持吧?我没有弄懂,即使是那些二进制的音频文件,ndk是怎么读取的? 读取不是最简单了。fopenfread就可以。 这样读出来的就直接能出声音?可是native-audio并没有这样操作啊!它里面有个.h文件长这样的: "\x00\x00\xfd\xff\x01\x00\x01\x00\xf9\xff\xfb\xff\x02\x00\x05\x00" "\x01\x00\x03\x00\x06\x00\x0a\x00\x0a\x00\x09\x00\x04\x00\x04\x00" "\x06\x00\x06\x00\x00\x00\xff\xff\x05\x00\x08\x00\x01\x00\xfe\xff" "\xff\xff\x03\x00\x04\x00\xfe\xff\xf9\xff\xfd\xff\x04\x00\xfe\xff"…………这个是什么文件?ndk的例子的一种方法好像是把它放缓冲区然后播放的。 你找找看关于 mp3 格式的开源的代码吧,不使用 JNI 是不可能的,使用 NDK 也是通过 JNI 调用底层的 C/C++ 来实现的。 恩,谢谢了,ndk是支持纯c实现一些功能的,但是我不确定是否支持纯c的音频录放。native是可以实现不使用jni而直接调用c/c++的。呵呵! 求助,关于动态添加删除TableRow 介于硬件和软件之间的分辨率问题 android Notification android 如何原样显示word文件里面的内容(表格,自选图形,图片,页眉,页脚) android下怎么使用隐式函数 android消息推送服务 如何把device/vendor目录下的service加入ServiceManager 怎么使用V7包中ActionBar 有没有基于wifidirect的传文件的应用? Android数据库sqlite问题 andorid raw文件夹下的bin文件如何读取??? 模拟器代理上网问题
不过这个要自己琢磨了,貌似没有放出来的C接口的例子。如果只是个wave文件或者raw的pcm文件,那就太简单了。直接读文件,然后write出去就可以了。
"\x01\x00\x03\x00\x06\x00\x0a\x00\x0a\x00\x09\x00\x04\x00\x04\x00"
"\x06\x00\x06\x00\x00\x00\xff\xff\x05\x00\x08\x00\x01\x00\xfe\xff"
"\xff\xff\x03\x00\x04\x00\xfe\xff\xf9\xff\xfd\xff\x04\x00\xfe\xff"…………
这个是什么文件?ndk的例子的一种方法好像是把它放缓冲区然后播放的。