Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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 如何设置AVAudioUnitEQ值_Ios_Swift_Xcode7_Avfoundation - Fatal编程技术网

Ios 如何设置AVAudioUnitEQ值

Ios 如何设置AVAudioUnitEQ值,ios,swift,xcode7,avfoundation,Ios,Swift,Xcode7,Avfoundation,在我的代码中,我有一个混响、回声和音调节点,可以在音频回放期间连接并成功应用。但是,我无法使EQ节点工作。这是eq节点的部分(我正在测试下限情况,但它根本不过滤音频) 这些节点稍后在代码中连接,所有其他节点都工作。提供了一个只有一个参数的初始化方法和一种返回过滤器参数数组的方法,但该数组似乎是只读的,因此我不确定上面的代码是否实际更改了参数。有人能给我指出正确的方向吗?如果我没弄错,您需要设置bypass属性。不确定AVAudioEngine,但使用Audio Unit component se

在我的代码中,我有一个混响、回声和音调节点,可以在音频回放期间连接并成功应用。但是,我无法使EQ节点工作。这是eq节点的部分(我正在测试下限情况,但它根本不过滤音频)


这些节点稍后在代码中连接,所有其他节点都工作。提供了一个只有一个参数的初始化方法和一种返回过滤器参数数组的方法,但该数组似乎是只读的,因此我不确定上面的代码是否实际更改了参数。有人能给我指出正确的方向吗?

如果我没弄错,您需要设置bypass属性。不确定AVAudioEngine,但使用Audio Unit component services,此属性默认为Active,这意味着该效果已被忽略,因此请尝试将bypass设置为NO。同时读取文档,我相信您需要在bands数组中查询AVAudioUnitEQFilterParameters的实例,并设置returns实例的参数。如果我没有弄错,您需要设置bypass属性。不确定AVAudioEngine,但使用Audio Unit component services,此属性默认为Active,这意味着该效果已被忽略,因此请尝试将bypass设置为NO。同时阅读文档,我相信您需要查询bands数组中AVAudioUnitEQFilterParameters的实例,并设置returns实例的参数。
    let eqNode = AVAudioUnitEQ.init(numberOfBands: 1)
    if low {
            eqNode.bands[0].filterType = .LowPass
            eqNode.bands[0].frequency = 20
    }
    audioEngine.attachNode(eqNode)