AQRecorder AAC在AVPlayer中播放

时间:2012-05-03 09:07:51

标签: objective-c ios avplayer aac

我在iOS上录制了aac音频文件时遇到了一些问题。 我需要录制音频并用AVPlayer播放。录制工作正常,文件创建。我可以在Mac上播放它。但是当我尝试在AVPlayer中播放它(文件)时 - 没有声音。

记录音频的

属性

mRecordFormat.mSampleRate       = 8000;
mRecordFormat.mFormatID         = kAudioFormatMPEG4AAC;
mRecordFormat.mFormatFlags      = kAudioFormatMPEG4AAC_LD;
mRecordFormat.mFramesPerPacket  = 0;
mRecordFormat.mChannelsPerFrame = 1;
mRecordFormat.mBitsPerChannel   = 0;
mRecordFormat.mBytesPerPacket   = 0;

我尝试不同的设置,但没有结果。请帮忙

P.S。其他文件(mp3等)正常播放

1 个答案:

答案 0 :(得分:2)

好的,几年前我找到了解决方案。 我将记录逻辑更改为

NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
                          [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey,
                          [NSNumber numberWithFloat:16000], AVSampleRateKey,
                          [NSNumber numberWithInt:2], AVNumberOfChannelsKey,
                          [NSNumber numberWithInt:AVAudioQualityMedium], AVSampleRateConverterAudioQualityKey,
                          [NSNumber numberWithInt:64000], AVEncoderBitRateKey,
                          [NSNumber numberWithInt:8], AVEncoderBitDepthHintKey,
                          nil];


error = nil;

_recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];

这个录制的文件在iOS,Android和MacOS / Win上播放。总而言之。