gpt4 book ai didi

ios - AudioKit "disconnected state"与链中节点的创建顺序相关的崩溃

转载 作者:可可西里 更新时间:2023-11-01 00:56:12 24 4
gpt4 key购买 nike

我正在使用 AudioKit *** 由于未捕获的异常 'com.apple.coreaudio.avfaudio' 而终止应用程序,原因:'播放器在断开连接状态时启动' 这发生在我按一个顺序创建和添加节点,但当我按另一个顺序添加它们时不会发生。这是所需的链:

[player]->[booster1]->[mixer1]->[booster2]->[mixer2]->[peak limiter]->[output]

当我按照这个顺序构建它时,它崩溃了:

let mixer2 = AKMixer()

let peakLimiter = AKPeakLimiter(mixer2)

AudioKit.output = peakLimiter
AudioKit.start()

let mixer1 = AKMixer()

let booster2 = AKBooster(mixer1)
mixer2.connect(input: booster2)

let booster1 = AKBooster(player)
mixer1.connect(input: booster1)

player.play()

但是当我按照这个顺序构建它时,它起作用了:

let booster1 = AKBooster(player)

let mixer1 = AKMixer()
mixer1.connect(input: booster1)

let booster2 = AKBooster(mixer1)

let mixer2 = AKMixer()
mixer2.connect(input: booster2)

let peakLimiter = AKPeakLimiter(mixer2)

AudioKit.output = peakLimiter
AudioKit.start()

player.play()

有什么想法吗?由于应用程序中的动态原因,第一个示例(崩溃)是它需要的创建顺序。

同样奇怪的是,如果我使用第一个创建顺序示例并省略第二个助推器,它会起作用。 [player]->[booster1]->[mixer1]->[mixer2]->[peak limiter]->[output]

let mixer2 = AKMixer()

let peakLimiter = AKPeakLimiter(mixer2)

AudioKit.output = peakLimiter
AudioKit.start()

let mixer1 = AKMixer()
mixer2.connect(input: mixer1)

let booster1 = AKBooster(player)
mixer1.connect(input: booster1)

player.play()

最佳答案

您可以尝试移动outputstart,就在play 之前(但在所有connect 之后) :

AudioKit.output = peakLimiter
AudioKit.start()
player.play()

关于ios - AudioKit "disconnected state"与链中节点的创建顺序相关的崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47849402/

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