【问题标题】:EZAudio framework -"Error: Couldn't initialize output unit ('fmt?')"EZAudio 框架 -“错误:无法初始化输出单元 ('fmt?')”
【发布时间】:2015-01-06 03:22:10
【问题描述】:

我正在使用 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。

【问题讨论】:

    标签: ios objective-c core-audio ezaudio


    【解决方案1】:

    原来你必须设置

    audioDesc.mFormatFlags = kAudioFormatFlagIsPacked | kAudioFormatFlagIsSignedInteger;
    

    当您的音频格式为 PCM 时。

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2013-09-01
      • 1970-01-01
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多