Странный звук при воспроизведении аудиосэмплов во втором AKAppleSampler - PullRequest
0 голосов
/ 10 ноября 2019

Я могу загрузить и воспроизвести .aupresets из Bundle.main.path в нескольких AKAppleSampler без проблем. Помимо .aupresets, я также хочу загружать и воспроизводить другие аудио файлы из каталога документов. Это прекрасно работает, но только в первом сэмплере. Другие сэмплеры загружают файлы, но при их воспроизведении слышен только короткий сигнал. Так что это работает только в первом сэмплере. Это ошибка в AudioKit? Я вижу в консоли, что все файлы загружены правильно, в каждом отдельном сэмплере. Я использую AudioKit 4.9 и Xcode 11.0

//This is how I load Samples into AKAppleSampler:


internal func loadKickSamples() {
          //Here I check if the files are present in the document folder
        if existingFile(fileName: currentKickSample) == true {

         // my code if file exists in Documents

            let yourPath = getDocumentsDirectory().appendingPathComponent(currentKickSample)
            do {
                try kickMIDISampler.samplerUnit.loadAudioFiles(at: [yourPath])

                print("EXISTING FILE IN yourPath: \([yourPath])")

            } catch {

                print("kickMIDISampler Could not locate files.")
                    }
            } else {

        // my code if file does not exist in Documents
                print("NO FILE I'll load AUPRESET")

                let presetPath = Bundle.main.path(forResource: "Sounds/\(currentKickSample)", ofType: "aupreset")
                let presetURL = NSURL.fileURL(withPath: presetPath!)

                print("this is the presetURL of aupreset: \(presetURL)")
            do {
                try kickMIDISampler.samplerUnit.loadPreset(at: presetURL)
            } catch {

                //print("did not load \(presetPath!), \(presetURL)")
            }
          }
        }


// And this is a way I play the Samples 
do {
            try self.kickMIDISampler.play(noteNumber: kickPitch, velocity: 120, channel: globalMIDIChannel)
        } catch {
            //print("Could not locate the files.")
        }

Как я уже говорил, в первом сэмплере все прекрасно работает, проблема воспроизведения есть только у другого сэмплера. Любая поддержка приветствуется.

...