gpt4 book ai didi

ios - 带按钮的一个 ViewController 中的多个音频文件

转载 作者:行者123 更新时间:2023-11-29 05:08:46 25 4
gpt4 key购买 nike

想要在同一个中播放多个音频文件ViewController 。当用户点击Button1file1.mp3应加载到 ViewController当用户点击播放时,应该播放相同的内容,并且 button2 file2.mp3应该加载并播放。

我知道如何对单个文件执行此操作,但对于多个文件,我必须创建 ViewController一次又一次,这太难了。这是我的单个文件代码

 @IBAction func buttonPressed(_ sender: UIButton) {
if player.isPlaying {

player.stop()
sender.setImage(UIImage(named:"play.png"),for: .normal)
} else {
player.delegate = self
player.play()
player.numberOfLoops = 107
sender.setImage(UIImage(named:"pause.png"),for: .normal)
}


}


do {
let audioPlayer = Bundle.main.path(forResource: "chalisa", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPlayer!) as URL)
}catch {
//ERROR
}

最佳答案

您可以使用 Tableview 列出所有歌曲名称和播放按钮用于在一个 View Controller 中使用多个音频文件

import AVFoundation

//MARK:- Variable Declaration
var player: AVAudioPlayer?

func playMusic() {
guard let url = Bundle.main.url(forResource: "chalisa", withExtension: "mp3") else { return }

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


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

/* iOS 10 and earlier require the following line:
player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileTypeMPEGLayer3) */

guard let player = player else { return }

player.play()

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

关于ios - 带按钮的一个 ViewController 中的多个音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59888799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com