Как я могу воспроизвести определенный звук из массива? - PullRequest
0 голосов
/ 23 января 2019

В моем приложении я установил опцию воспроизведения, когда пользователь нажимает кнопку, аудио описания, когда изображение распознается, но я не могу выбрать, какой файл я хочу воспроизвести. Мой аудио файл хранится внутри массива Here’s my view w/ the play button

Вот код, который я использую для воспроизведения одного аудиофайла:

func listenAudio(){

    guard let url = Bundle.main.url(forResource: "afraid-of-destiny", withExtension: ".mp3") else { return }

    do {
        try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
        try AVAudioSession.sharedInstance().setActive(true)

        self.player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)

        guard let player = self.player else { return }

        player.play()

        self.audioButton.setTitle("Stop", for: UIControl.State.normal)
        self.player!.play()


    } catch let error {
        print(error.localizedDescription)
    }

}

Я думал использовать if / else, но он не работает

1 Ответ

0 голосов
/ 23 января 2019

Если ваши аудиофайлы представляют собой массив строк, сделайте следующее:

func listenAudio(soundIndex: Int){
    guard let url = Bundle.main.url(forResource: audioFileArray[soundIndex], withExtension: ".mp3") else { return }
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...