0
我正在开发一个音频播放器,我需要2个按钮(播放和停止)来控制它。我已经使用了以下代码:如何在swift3中播放和停止AVAudioPlayer?
override func viewDidLoad() {
super.viewDidLoad()
let urlstring = "http://radio.spainmedia.es/wp-content/uploads/2015/12/tailtoddle_lo4.mp3"
let url = NSURL(string: urlstring)
print("the url = \(url!)")
downloadFileFromURL(url: url!)
}
func downloadFileFromURL(url:NSURL) {
var downloadTask:URLSessionDownloadTask
downloadTask = URLSession.shared.downloadTask(with: url as URL, completionHandler: { (URL, response, error) -> Void in
self.play(url: URL! as NSURL)
})
downloadTask.resume()
}
func play(url:NSURL) {
print("playing \(url)")
do {
self.SoundPlayer = try AVAudioPlayer(contentsOf: url as URL)
SoundPlayer.prepareToPlay()
SoundPlayer.volume = 1.0
SoundPlayer.play()
} catch let error as NSError {
//self.player = nil
print(error.localizedDescription)
} catch {
print("AVAudioPlayer init failed")
}
}
@IBAction func Play(_ sender: Any) {
SoundPlayer.play()
}
@IBAction func Stop(_ sender: Any) {
SoundPlayer.stop()
}
基本上,当用户打开应用程序时,mp3音频文件会自动启动。因此,我创建了2个附加按钮,“开始”和“停止”,并且我想用它们控制此音频播放器。你能否告诉我如何去做,因为现在他们没有连接到音频播放器,当我点击它们时没有任何操作。
你检查声音播放不为零的播放/停止funcs中? –
他们是零我猜,但我不知道如何解决它们 – Dakata
如果他们为零,那么我会认为你失去了一些地方引用他们。你如何定义Var SoundPlayer? –