java aac 编码_基于FFmpeg的音频编码(PCM数据编码成AAC android)

之前做的一个demo,Android录音获取pcm数据(音频原始数据),然后利用 FFmpeg将PCM数据编码成AAC。

一、准备工作

开发环境

jdk1.8

Eclipse Luna Service Release 1 (4.4.1)

运行环境:

华为荣耀6(Android4.4)、华为p9(Android7.0)

二、程序实现

代码截图如下:

0ce614a4cfcdfa127542c746aeb378eb.png

该demo依赖v7包。

FFAacEncoderDemo工程src目录MainActivity.java是主界面,用来控制录音开始和结束。

FFAacEncoder.java时native方法,用来和jni通信。

jni目录:include目录下是FFmpeg的一些.h文件

libs目录下是FFmpeg编译的so

AacCoderc 音频编码

cn_vn_aacEncoder_jni_FFAacEncoderJni jni代码与java通信。

1 录音(获取pcm数据)

开始录音private void startRecord(){

Log.i(TAG, "startRecord mIsRecording="+mIsRecording);

if(!mIsRecording){

mIsRecording = true;

synchronized (mLock) {

mAudioRecordGetExit = false;

}

//初始化ffmpeg 编码器

mFFAacEncoderJni.start();

//创建录音线程、开始录音

mAudioRecordGetThread = new Thread(new AudioRecordGet());

mAudioRecordGetThread.start();

}

}

关闭录音privat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值