Ошибка EXC_BAD_ACCESS при использовании AKWavetable - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь загрузить образец в AKWavetable и получить эту ошибку:

Поток 1: EXC_BAD_ACCESS (код = 1, адрес = 0x20)

It Сам образец не может быть, потому что я попробовал все это с AKPlayer, и он работал нормально ... какие-нибудь идеи?

var sampler = AKWaveTable()

do
{
    //sampler load sample
    var audiofile = try AKAudioFile(readFileName: "SAUCE4.wav")
    sampler = AKWaveTable(file: audiofile,
                          startPoint: 0,
                          endPoint: Sample(audiofile.length),
                          rate: 1,
                          volume: 1,
                          maximumSamples: Int(audiofile.samplesCount),
                          completionHandler: {print("completed")},
                          loadCompletionHandler: {print("loadcompleted")}
                        )

}
catch
{
    print("No Such File...")
}

Вывод:

loadcompleted

(lldb)

Тема 1: EXC_BAD_ACCESS (код = 1, адрес = 0x20)

1 Ответ

1 голос
/ 27 февраля 2020

Это как-то связано с инициированием пустого волнового стола, а затем с попыткой его инициализации снова. Я смог исправить это, сделав сэмплер необязательным, а затем запустив:

var wavetable: AKWaveTable?
        do
        {
            //sampler load sample
            var audiofile = try AKAudioFile(readFileName: "SAUCE4.wav")
            wavetable = AKWaveTable(file: audiofile,
                                  startPoint: 0,
                                  endPoint: Sample(audiofile.length),
                                  rate: 1,
                                  volume: 1,
                                  maximumSamples: Int(audiofile.samplesCount),
                                  completionHandler: {print("completed")},
                                  loadCompletionHandler: {print("loadcompleted")}
                                )

        }
        catch
        {
            print("No Such File...")
        }
...