VoAACEncoder

VoAACEncoder 是提取自AOSP 2.3项目libstagefright内的AAC编码器。
现在封装为jni库在Android项目中调用,主要用于需要将语音编码为AAC ADTS流实时发布的场景。
该库充分利用了ARM汇编指令,比之前移植的FAAC库具有更高的编码效率。
实测QSD8250处理器下,16000 采样,32k bitRate,单声道编码 cpu占用只有2%~4%
使用方法:
将libVoAACEncoder.so 放入libs/armeabi 目录
将VoAACEncoder.java 放入com.sinaapp.bashell包下
示例代码:

请不要忘记开启权限

下载:VoAACEncoder

————2015年7月30日的分割线————-
时隔3年,撸主在整理硬盘时找到此项目,不少朋友感兴趣,也没什么好保留的,就开源吧。
https://github.com/illuspas/VoAACEncoder

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: VoAACEncoder

18 评论

  1. 这个AAC编码器在低端机子上用着还行,在高端机子上会有各种问题,比如声音会加快,声音会断断续续等

  2. 你好 我试验了下 采样率441000 声道为1的情况下速率正常 但一旦改成双声道声音就会加快 请问这和编码部分里的init设置有关系么 可以公开下代码看下么?或者请教一下声道的设置 怎样使声道设置可以变化?

  3. 还有个疑问 为什么读取2048个字节?
    bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat);
    byte[] tempBuffer = new byte[bufferSizeInBytes];
    int bufferRead = recordInstance.read(tempBuffer, 0, bufferSizeInBytes);

    如果读取从audiorecord获得的buffersize大小,也会有加速的现象。

  4. 我想问下博主,采样8k单通道编出来的aac在设备上播放速率较慢,然后44k的又快了,这是为什么,怎么解决?

  5. 你好我这边是实时获取的流的大小是17640byte,直接aac转码的话会出现时间减少、音频加快的现象,我想问一下怎么做能每次转2048byte呢?

回复 taomiwersta 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据