gpt4 book ai didi

ios - 如何修复 iOS 13.1.2 AudioKit.renderToFile 异常:AUGraphParser::InitializeActiveNodesInInputChain(ThisGraph, *GetInputNode())):错误 -10868

转载 作者:行者123 更新时间:2023-12-01 15:35:50 25 4
gpt4 key购买 nike

我在 iOS 13.1.2 和 AudioKit 4.9 上遇到过这个问题。使用 iPhone XS 进行测试。

我正在尝试使用以下代码呈现剪辑记录器结果:

        func preRender() {

var scheduleTime : TimeInterval = 2
let dspTime = AVAudioTime(sampleTime: AVAudioFramePosition(scheduleTime * AKSettings.sampleRate), atRate: AKSettings.sampleRate)
if !clipsOnly {
self.musicPlayer.play(at: dspTime)
scheduleTime += 2
}
self.clipPlayer.play(at: dspTime)
}


let writeFile = try AKAudioFile()
try AudioKit.renderToFile(writeFile, duration: duration + 2.0,
prerender: preRender)

预期结果是呈现音频文件。上面的代码在 iOS 13.1.2 模拟器和 iOS 12 设备上运行良好。

实际结果是:
[avae]            AVAEInternal.h:109   [AVAudioEngineGraph.mm:1397:Initialize: (err = AUGraphParser::InitializeActiveNodesInInputChain(ThisGraph, *GetInputNode())): error -10868

最佳答案

我的 AVAudioEngine 也有同样的问题设置代码。
如果您检查此错误代码 -10868OSStatus page
你会发现错误描述是 kAudioUnitErr_FormatNotSupported .

这意味着一些更深层次的音频设置代码失败,因为使用了不受支持的音频格式。

在处理原始音频数据时,了解正在使用哪种音频格式很重要。如果两个不同的音频样本的音频格式不相等,则它们不能只是组合/混合。需要音频转换。

我确信 Apple 代码中的某些内容已更改。某些音频格式不再被允许。 AVAudioEngineAVAudioNode's接受不同 iOS 版本的不同格式:

  • iOS 12 有效。
  • iOS 13.1.2。 (在您的情况下)不起作用。
  • iOS 13.3.1。 (在我的情况下)不起作用。
  • iOS 13.4。 (在我的情况下)有效(对于一些类似但其他的音频错误)。

  • 到目前为止,底层代码已更改,我在 iOS 13.4 下的代码。有效,而在 iOS 13.3.1 下。产生声音伪像,使音频回调无法使用。

    我正在研究这个特定音频格式不匹配错误的解决方案。在您的情况下,我建议您在 iOS 13.4 下测试相同的代码。

    您将无法解决代码中的问题,因为它位于 AudioKit 中的某处。 . AudioKit需要解决 Apple 对其底层音频代码所做的更改。当我修复我的问题时,我会发布解决方案并通过他们的 GitHub issue tracker 与他们联系。 .

    这可能是同样的问题。

    关于ios - 如何修复 iOS 13.1.2 AudioKit.renderToFile 异常:AUGraphParser::InitializeActiveNodesInInputChain(ThisGraph, *GetInputNode())):错误 -10868,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58291425/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com