Тон не играет в Audikit 4.2, но в версии 4.1 работает нормально - PullRequest
0 голосов
/ 03 мая 2018

Я использую Audiokit в своем проекте, и недавно я обновил свой Xcode 9.3. Там написано, что мне нужно обновить Audiokit. Но когда я обновляюсь, кажется, мне нужно использовать try catch для запуска и остановки аудио-комплекта. это нормально.

    oscillator = AKFMOscillator()
    oscillator!.amplitude = 0.0
    oscillator!.baseFrequency = Double(calibration.frequency)
    oscillator!.carrierMultiplier = 1.0
    oscillator!.modulatingMultiplier = HolmesMethod.warbleModulationFrequency / Double(calibration.frequency)
    oscillator!.modulationIndex = HolmesMethod.warbleModulationIndex
    oscillator!.rampTime = HolmesMethod.clickMillis / 1000.0


    AudioKit.output = panner
    do {
        try AudioKit.start()
    } catch  {
    }

    oscillator!.start()

    panner = AKPanner(oscillator, pan: calibration.channel == .Right ? 1.0 : -1.0)
    panner?.start()

Может кто-нибудь сказать, что не так с моим кодом? потому что он работает в старой версии, но не в последней версии.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

После слишком больших усилий я обнаружил, что нам нужно запустить осциллятор после запуска AudioKit.

oscillator = AKFMOscillator()
oscillator!.baseFrequency = Double(calibration.frequency)
    oscillator!.carrierMultiplier = 1.0
    oscillator!.modulatingMultiplier = HolmesMethod.warbleModulationFrequency / Double(calibration.frequency)
    oscillator!.modulationIndex = HolmesMethod.warbleModulationIndex
    oscillator!.rampDuration = HolmesMethod.clickMillis / 1000.0


    panner = AKPanner(oscillator, pan: calibration.channel == .Right ? 1.0 : -1.0)
    AudioKit.output = panner
    do {
        try AudioKit.start()
        } catch  {
    }

    oscillator!.start()
    panner?.start()

Но здесь я услышал какой-то странный звук на секунду во время запуска AudioKit.

0 голосов
/ 03 мая 2018

Мне кажется, вы установили амплитуду генератора на ноль, поэтому я не уверен, что вы ожидаете услышать.

...