AudioKit 停止并开始产生奇怪的声音

AudioKit stop and start produce weird sounds

我有 2 个关于 audiokit 中奇怪声音的问题。让我给你解释一下。

我的应用有一个使用音频权限的框架。已经可以播放和录音了。

我尝试了 3 件事。 第一种方法。我使用音频套件添加了一项新功能。当我第一次启动音频套件时,它完美地工作。但是当我转到其他屏幕并授予其他框架权限时,其他框架工作正常但是当我回到音频套件时音量太低。它似乎被削减了 50%,我无法将它提高到 100%。

为了绕过这个,我想我必须停止音频套件并在我必须使用它时重新启动它。但是奇怪的事情发生了。

第二种方法。如果我在使用 other-framework 之前停止音频套件并返回到音频套件并再次重新启动它,它会在播放声音和停止声音时产生奇怪的嗡嗡声。

第三种方法。我使用了 "MetronomeSamplerSync" 中的示例代码。我使用了节拍器应用程序的示例代码。在播放时我启​​动音频套件,在停止时我停止音频套件。并且如果产生同样的奇怪声音问题。

这里是示例代码。

func startStopAction(met: AKSamplerMetronome, otherMet: AKSamplerMetronome) -> (AKButton) -> Void {
        return { button in
            // Stop if playing, Start if not playing.
            if met.isPlaying {

                met.stop()

                do {
                    try AudioKit.stop()
                } catch {
                    AKLog("AudioKit did not stop!")
                }
            } else {
                //If other metronome is playing, sync to it, else just play.
                if otherMet.isPlaying {
                    let now = AVAudioTime(hostTime: mach_absolute_time())
                    let beatAtNow = otherMet.beatTime(at: now)
                    met.setBeatTime(beatAtNow, at: now)
                } else {
                    do {
                        try AudioKit.start()
                    } catch {
                        AKLog("AudioKit did not start!")
                    }
                    met.play()
                }
            }
            button.title = met.isPlaying ? "Stop" : "Play"
        }
    }

我遇到了同样的问题(audiokit-volume cut by 50%)。我必须删除其他代码中的以下行:

    let session = AVAudioSession.sharedInstance()
    do {
        // Configure the audio session for movie playback
        try session.setCategory(AVAudioSessionCategoryPlayback,
                                mode: AVAudioSessionModeMeasurement,
                                options: [])

我的猜测是必须非常小心地设置会话类别,最好是您的其他框架和 AudioKit 使用相同的 AVAudioSession 设置一次。希望这有帮助。

我遇到了奇怪的声音问题。我通过再次将音频文件分配给节拍器解决了这个问题。不再有奇怪的声音,也不再降低音量。希望对大家有帮助。