Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 音频工具包生命周期混乱_Ios_Audiokit - Fatal编程技术网

Ios 音频工具包生命周期混乱

Ios 音频工具包生命周期混乱,ios,audiokit,Ios,Audiokit,我不能对这件事耿耿于怀。我到处(正确地)读到,Audiokit生命周期应该在一个单独的个体中管理,并且远离视图控制器生命周期。然后我检查了所有示例项目的代码,发现有点让人困惑 AudioKit.start() 始终在ViewDidload中调用。但无论如何,这不是我真正的问题 我有多个ViewController,它们以不同的方式使用麦克风。例如,它们需要不同的类别、不同的设置,有些必须是普通话筒,而有些则需要一长串带有特效和混音器的初始化(就像“录音机”示例项目一样) 我这里有两个相关的问

我不能对这件事耿耿于怀。我到处(正确地)读到,Audiokit生命周期应该在一个单独的个体中管理,并且远离视图控制器生命周期。然后我检查了所有示例项目的代码,发现有点让人困惑

AudioKit.start() 
始终在
ViewDidload
中调用。但无论如何,这不是我真正的问题

我有多个ViewController,它们以不同的方式使用麦克风。例如,它们需要不同的类别、不同的设置,有些必须是普通话筒,而有些则需要一长串带有特效和混音器的初始化(就像“录音机”示例项目一样)

我这里有两个相关的问题:

  • 我在Github上看到,当我们更改路由或类别时,我们需要重新初始化AudioKit。但在这种情况下,我们真正在哪里做呢?就我而言,我真的只能想到“
    视图将出现”
    ”。(如果话筒需要在无需点击按钮的情况下开始收听,则使用不同的设置)

  • 真正的问题是我如何正确地做到这一点?例如,在我的项目中,AKMirror的设置与“Recorder”示例类似,但它是在一个单例类中设置的。当我切换到另一个ViewController时,它需要一个“普通”AkMicrophone,就在view出现之后。如何从链中移除所有混合器和延迟?这不仅仅是更改某些设置和重新启动发动机的问题


我很难完全理解您的要求,但您在何处使用音频套件并不重要。如果您需要更改信号链,您应该能够“热插拔”连接到连接到麦克风输出的混音器的节点。