如何播放阵列中的特定声音?

时间:2019-01-23 11:56:49

标签: ios swift avfoundation arkit

在我的应用中,我设置了播放选项,当用户点击按钮时,会在识别出图像时显示音频说明,但是我无法选择要播放的文件。我的音频文件存储在数组中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 :(得分:1)

如果您的音频文件是字符串数组,请执行以下操作:

func listenAudio(soundIndex: Int){
    guard let url = Bundle.main.url(forResource: audioFileArray[soundIndex], withExtension: ".mp3") else { return }
    ...
}