音频不是在Audikit 4.2中播放,而是在4.1版中工作正常

时间:2018-05-03 07:31:44

标签: ios swift audiokit swift4.1

我在我的项目中使用了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 :(得分:1)

在我看来,你已经将振荡器的振幅设置为零,所以我不确定你期待听到的是什么。

答案 1 :(得分:1)

经过太多的努力,我发现我们需要在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 Start时获得了一些奇怪的声音。