首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Audiokit/swift新手: AKOperationEffect数组

Audiokit/swift新手: AKOperationEffect数组
EN

Stack Overflow用户
提问于 2018-07-20 00:20:59
回答 1查看 133关注 0票数 2

我找不到一种方法来声明一个AKOperationEffect数组。

我有两个单独声明的“调制器”。如何使用let modulator = [AKOperationEffect]()才能像使用AKOscillator一样使用modulator.append(AKOperationEffect())?当我这样做的时候,它会要求我提供一个初始化参数,但我不知道它是什么。我敢肯定,这门课有一个基本的误解,我无法从教程中找出。

谢谢你的帮助!

代码语言:javascript
复制
import Foundation
import AudioKit

class AudioEngine {

    var oscillator = [AKOscillator]()
    var dualMixer = [AKMixer]()

    init() {
        for index in 1...8 {
            oscillator.append(AKOscillator())
            oscillator[index-1].amplitude = 1
            oscillator[index-1].frequency = 110 * index
        }

        for index in 1...4 {
            dualMixer.append(AKMixer(oscillator[index-1], oscillator[index+2]))
        }

        let modulatorOne = AKOperationEffect(dualMixer[0]) { input, parameters in

            return input * ((AKOperation.sineWave(frequency: parameters[0], amplitude: 1) + 1) / 2)
        }

        let modulatorTwo = AKOperationEffect(dualMixer[1]) { input, parameters in

            return input * ((AKOperation.sineWave(frequency: parameters[0], amplitude: 1) + 1) / 2)
        }

        modulatorOne.parameters[0] = 2
        modulatorTwo.parameters[0] = 3
        modulatorOne.start()
        modulatorTwo.start()


        let mixer = AKMixer(modulatorOne, modulatorTwo)

        AudioKit.output = mixer
        do {
            try AudioKit.start()
        } catch {
            print(error)
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-07-20 07:51:36

Effects与生成器的不同之处在于它们需要输入,这就是initialize参数。振荡器不接受任何输入,因此可以不使用任何东西进行初始化。

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

https://stackoverflow.com/questions/51427582

复制
相关文章

相似问题

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