我使用的是EZAudio框架(https://github.com/syedhali/EZAudio),当尝试用自定义AudioStreamBasicDescription初始化输出时,如下所示.
- (void)openMediaPlayer {
// Initialize the EZOutput instance and assign it a delegate to provide the output audio data
AudioStreamBasicDescription audioDesc;
audioDesc.mFormatID = kAudioFormatLinearPCM;
audioDesc.mSampleRate = 44100;
audioDesc.mChannelsPerFrame = 2;
audioDesc.mBytesPerFrame = 4;
audioDesc.mFramesPerPacket = 1;
audioDesc.mBytesPerPacket = 4;
audioDesc.mBitsPerChannel = 16;
audioDesc.mReserved = 0;
self.output = [EZOutput outputWithDataSource:self withAudioStreamBasicDescription:audioDesc];
self.currentAudioPieceIndex = 0;
}我得到了“错误:无法初始化输出单元”(‘fmt?’)。
这是什么意思?AudioDesc是为PCM 16位立体声音响设置合理的默认设置。
更新:当我使用调试器时,我发现我得到了OSStatus 1718449215。
发布于 2015-01-06 04:41:48
结果是你必须设置
audioDesc.mFormatFlags = kAudioFormatFlagIsPacked | kAudioFormatFlagIsSignedInteger;当您的音频格式为PCM时。
https://stackoverflow.com/questions/27791605
复制相似问题