使用libfdk-aac编码。
#import "FDKAACEncoder.h"
#include "aacenc_lib.h"
#define PROFILE_AAC_LC 2
#define PROFILE_AAC_HE 5
#define PROFILE_AAC_HE_v2 29
#define PROFILE_AAC_LD 23
#define PROFILE_AAC_ELD 39
@interface FDKAACEncoder(){
HANDLE_AACENCODER _encoder;
}
@end
@implementation FDKAACEncoder
- (int)initEncoder:(int)bitrate samplerate:(int)samplerate channel:(int)channel{
AACENC_ERROR rt = aacEncOpen(&_encoder, 0, 0);
if (rt != AACENC_OK) {
NSLog(@"aac enc open error %zd",rt);
return -1;
}
aacEncoder_SetParam(_encoder, AACENC_AOT, PROFILE_AAC_LC);
aacEncoder_SetParam(_encoder, AACENC_BITRATE, bitrate);
aacEncoder_SetParam(_encoder, AACENC_SAMPLERATE, samplerate);
aacEncoder_SetParam(_encoder, AACENC_CHANNELMODE, MODE_2);
return 0;
}
- (int)encodeToAAC:(char*)pcm len:(int)len{
AACENC_BufDesc in = {0};
{
I