录音机不需要未压缩的线性PCM音频.压缩AMR
会很好.用于录制音频的iPhone框架非常简单,但我找到的用于设置音频格式(来自Apple)的唯一示例使用LinearPCM.我已经尝试了各种其他值的组合,但似乎无法获得任何工作.
有人有任何实际记录的代码AMR
吗?
编辑: AMR格式是设置数据类型的选项之一,但其他选项(数据包大小,帧大小等)似乎不匹配,无论我将它们设置为什么.
编辑:这是我对PCM版本的看法:
/* If we want to use AMR instead of PCM: AMR Format: Sampling Frequency: 8 kHz/13-bit (160 samples for 20 ms frames), filtered to 200-3400 Hz eight source codecs : 12.2, 1.2, 7.95, 7.40, 6.70, 5.90, 5.15, 4.75 kbit/s generated frame length: 244, 204, 159, 148, 134, 118, 103, 95 bits per frame */ format->mFormatID = kAudioFormatLinearPCM; format->mSampleRate = 8000.0; //8 kHz format->mFramesPerPacket = 1; //1 frame per packet format->mChannelsPerFrame = 1; //Mono format->mBytesPerFrame = 2; //8/bits per frame (round up) format->mBytesPerPacket = 2; //Same as bytes per frame format->mBitsPerChannel = 16; //16-bit audio format->mReserved = 0; //always 0 format->mFormatFlags = kLinearPCMFormatFlagIsBigEndian | kLinearPCMFormatFlagIsSignedInteger | kLinearPCMFormatFlagIsPacked;
olegueret.. 13
虽然支持播放,但不支持AMR编解码器在iPhone上进行编码/录制:这就是kAudioFormatAMR常量存在的原因.
官方api说支持的编码格式是:
ALAC(Apple Lossless)〜> kAudioFormatAppleLossless
iLBC(互联网低比特率编解码器,用于语音)〜> kAudioFormatiLBC
IMA/ADPCM(IMA4)〜> kAudioFormatAppleIMA4
线性PCM ~> kAudioFormatLinearPCM
μ-law ~> kAudioFormatULaw
a-law ~> kAudioFormatALaw
您可以尝试其中一种格式或使用开源AMR编码器,如goldenmean建议的那样.
编辑:更新官方api链接
虽然支持播放,但不支持AMR编解码器在iPhone上进行编码/录制:这就是kAudioFormatAMR常量存在的原因.
官方api说支持的编码格式是:
ALAC(Apple Lossless)〜> kAudioFormatAppleLossless
iLBC(互联网低比特率编解码器,用于语音)〜> kAudioFormatiLBC
IMA/ADPCM(IMA4)〜> kAudioFormatAppleIMA4
线性PCM ~> kAudioFormatLinearPCM
μ-law ~> kAudioFormatULaw
a-law ~> kAudioFormatALaw
您可以尝试其中一种格式或使用开源AMR编码器,如goldenmean建议的那样.
编辑:更新官方api链接