Минимальная настройка AudioKit таинственным образом производит звук - PullRequest
0 голосов
/ 17 апреля 2020

Мой код, который должен быть тихим, начинает воспроизводить звук, когда я добавляю заметку в секвенсор (проверено в симуляторе). Это сводит меня с ума. Есть ли какая-либо настройка звукового графика по умолчанию, которая может вызвать это?

import AudioKit

class AudioManager: NSObject {
    var sequencer = AKAppleSequencer()
    var mixer: AKMixer = AKMixer()

    var track = AKMusicTrack()
    override init() {
        super.init()
        AKSettings.playbackWhileMuted = true

        track = sequencer.newTrack()!
        do {
            try AudioKit.stop()
        } catch {
            AKLog("AudiKit didn't stop!")
        }

        AudioKit.output = mixer

        sequencer.setLength(AKDuration(beats: 4))
        sequencer.enableLooping()
        do {
            try AudioKit.start()
            sequencer.play()
            AKLog("AudioKit did start!")
        } catch {
            AKLog("AudioKit did not start!")
        }
    }
    func addNote(noteNumber: UInt8, offset: AKDuration, length: AKDuration) -> Void {
        track.add(noteNumber: noteNumber, velocity: 127, position: offset, duration: length)
    }
    func removeNote(noteNumber: UInt8, offset: AKDuration) -> Void {
        var trackData = track.getMIDINoteData()
        trackData = trackData.filter { $0.noteNumber != noteNumber ||
            $0.position != offset }
        track.replaceMIDINoteData(with: trackData)
    }
    func clearNotes(offset: Double, length: Double) {
        track.clearRange(start: AKDuration(beats: offset), duration: AKDuration(beats: length))
    }
    public func getStep() -> Int {
        return Int(floor(sequencer.currentRelativePosition.beats / (4/16)))
    }
}
...