因此,我創建了一個iPhone應用程序,可以在Swift中下載聲音文件,並且我有一個問題。使用Xcode和iOS模擬器,我可以成功地將我需要的音頻文件下載到模擬器上。我發現下載的文件在我的OSx機器上的這個目錄中:如何訪問Swift應用程序中的聲音文件
OS X - > Users - >「My name」 - > Library - > Developer - > CoreSimulator - > Devices - > 96CDD ... - > data - > 6B742 ... - > Documents
現在我的問題是,我知道我有應用程序內的設備上的音頻文件,但我如何訪問它們,然後從應用程序本身播放它們?我正在嘗試使用AVAudioPlayer,但是我在訪問該文件時沒有成功。下面是我試圖運行的是viewDidLoad中功能的內部代碼:
var playYoda = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Documents/do_or_do_not", ofType: "wav")!)
println(playYoda)
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: playYoda, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()
我所有的代碼編譯,但是當我啓動模擬器,我得到這個錯誤:致命錯誤:意外發現零,同時展開一個可選值在我鏈接的第一行代碼(var playYoda = ...)。
我不知道這是否是因爲我的路徑對音頻文件錯誤,或者如果我在AVAudioPlayer上做錯了什麼。任何幫助,將不勝感激。
所以URL快到了正確的文件路徑,但我會怎麼用內AVAudioPlayer這個新的URL播放的文件? – t33j4y
和以前一樣:'audioPlayer = AVAudioPlayer(contentsOfURL:playYoda,error:&error)' –
非常感謝。這對我很有幫助 – Alexander