【发布时间】:2017-12-13 06:57:46
【问题描述】:
我是 Swift 新手,但我想更改我的视图控制器以在我的 iOS 应用程序中播放远程 mp3 文件。我从这段代码开始在本地播放一首歌曲,它可以工作(之后为播放器提供功能):
import AVFoundation
class Music1ViewController: UIViewController {
//5 -
var songPlayer = AVAudioPlayer()
//15 -
var hasBeenPaused = false
//6 -
func prepareSongAndSession() {
do {
//7 - Insert the song from our Bundle into our AVAudioPlayer
songPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "localsong", ofType: "mp3")!))
//8 - Prepare the song to be played
songPlayer.prepareToPlay()
查看AVAudioPlayer documentation 后,.prepareToPlay() 预加载缓冲区,这让我觉得我需要做的就是更改初始化程序以定位 URL。
然后我改变初始化器:
songPlayer = try AVAudioPlayer(contentsOf: URL(string: "https://s3.amazonaws.com/kargopolov/kukushka.mp3")!)
我在 XCode 中没有收到任何错误,但是当我运行它时,我在控制台中看到 Thread 1: EXC_BAD_ACCESS (code=1, address=0x48) 的错误,这让我觉得我正在接近这个错误。
有没有更好的方法来访问远程 mp3 文件?
【问题讨论】: