首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioKit卷积

AudioKit卷积
EN

Stack Overflow用户
提问于 2017-11-19 09:47:38
回答 1查看 156关注 0票数 1

我正在尝试在mac os应用程序中使用卷积混响。AudioKit 4.03

游乐场的例子对我很有效,但是当我尝试在我的应用程序中复制它时,我得到了这个错误,并且没有音频。

2017-11-18 20:21:36.116436-0500 convolutionVerb测试37554:4533072 AVAEInternal.h:69:_AVAE_Check:必填条件为false: AVAudioEngine.mm:348:AttachNode:(节点!=空) 2017-11-18 20:21:36.116642-0500 convolutionVerb测试37554:4533072无法设置(contentViewController)用户定义的检测属性(NSWindow):必填条件为false:节点!=空

下面是我的代码(这只是AudioKit游乐场的一个稍微修改过的版本)

类ViewController: NSViewController {

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()



    do {
         file = try AKAudioFile(readFileName: "SAMPLES/Bell.wav")
         player = try AKAudioPlayer(file: file)
    }
    catch {print("DIDN'T LOAD")}

    player.looping = true




    let stairwell = bundle.url(forResource: "stairwell", withExtension: "wav", subdirectory: "Impulse Responses")
        let dish = bundle.url(forResource: "dish", withExtension: "wav", subdirectory: "Impulse Responses")

        stairwellConvolution = AKConvolution(player,impulseResponseFileURL: stairwell!,partitionLength: 8_192)
        dishConvolution = AKConvolution(player,impulseResponseFileURL: dish!,partitionLength: 8_192)


        mixer = AKDryWetMixer(stairwellConvolution, dishConvolution, balance: 0.5)
    dryWetMixer = AKDryWetMixer(player, mixer, balance: 0.5)



    AudioKit.output = dryWetMixer
    AudioKit.start()


    stairwellConvolution.start()
    dishConvolution.start()

    player.play()


    // Do any additional setup after loading the view.
}
EN

回答 1

Stack Overflow用户

发布于 2017-11-19 10:01:27

很难说这是正确的,但我敢说这与你的视图控制器的生命周期有关。您在viewDidLoad中设置此AudioKit的代码可能不安全。我认为将音频代码放入Engine或Conductor单例类中至少是值得的一步,该类可以在整个项目中访问,而不受UI生命周期的约束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47372954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档