FAAC源码阅读(3)——FAAC的接口

1、打开创建编码器

faacEncHandle FAACAPI faacEncOpen
(
unsigned long sampleRate,
unsigned int numChannels,
unsigned long *inputSamples,
unsigned long *maxOutputBytes
);

功能 :打开并初始化一个编码器
sampleRate:采样率
numChannels:声道的数量
inputSamples:输入的样本数
maxOutputBytes:最大的输出字节数

2、关闭编码器
void FAACAPI faacEncClose
(
faacEncHandle hEncoder
);
功能:关闭编码器

3、返回编码器当前的配置信息
faacEncConfigurationPtr FAACAPI
faacEncGetCurrentConfiguration
(
faacEncHandle hEncoder
);
功能:返回配置信息

4、设置编码器的配置信息
int FAACAPI faacEncSetConfiguration
(
faacDecHandle hDecoder,
faacEncConfigurationPtr config
);
功能:设置编码器的配置

5、编码
int FAACAPI faacEncEncode
(
faacEncHandle hEncoder,
short *inputBuffer,
unsigned int samplesInput,
unsigned char *outputBuffer,
unsigned int bufferSize
);
功能:编码一帧数据
hEncoder:编码器句柄
inputBuffer:待编码数据
samplesInput:输入的样本数
outputBuffer:输出缓存区
返回值:负数表示出错、正数表示编码后的数据长度

6、编码器的配置信息结构体
typedef struct faacEncConfiguration
{
unsigned int mpegVersion; //——MPEG的版本
unsigned int aacObjectType; //——AAC对象类型,有MAIN、LOW、LTP
unsigned int allowMidside; //——设置为1,表示允许中/侧编码
unsigned int useLfe;//——设置为1表示支持LFE频道,现在这个标识已经不再被支持了
unsigned int useTns;//——是否使用TNS
unsigned long bitRate;//——比特率
unsigned int bandWidth;//——带通宽度(Hz)
}








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值