我正在研究一個包含音樂和聲音效果的應用程序,所以我正在使用AVPlayer,而且我遇到了一個似乎只對模擬器有效的奇怪的bug。Swift AVPlayer在模擬器上拋出異常
因此,在應用程序的屏幕之一中,有音樂在後臺播放。所以在這個屏幕上,我安裝了AVPlayer並開始播放歌曲。這是昨天做工精細,但運行在模擬器上的應用程序時,今天,這個異常被拋出
但是應用程序沒有崩潰,如果我打繼續按鈕幾次,應用程序繼續運行。但是它在模擬器上進行調試非常令人沮喪,因爲每當我打開這個屏幕時都會發生這種情況。設備上不會發生此問題。
什麼是陌生人是,我有一個類似的問題昨天在這個應用程序與AVPlayer。我無法弄清楚問題出在哪裏,於是我開始逐個將代碼複製到一個新的項目中,直到整個事情被複制,並且這個問題沒有發生。那麼今天呢,這個問題又開始了。如果我將這些代碼複製到另一個項目中,它在模擬器上可以正常工作,但最終會再次彈出此問題。
是否有其他人在AVPlayer模擬器上體驗過這些類型的問題?有什麼辦法可以解決這個問題嗎?任何幫助,將不勝感激
編輯:以防萬一,這裏是代碼AVPlayer是如何設置
var songPlayerItem : AVPlayerItem?
var songPlayer : AVPlayer?
func startSong()
{
let url = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource(song!.id, ofType: "mp3")!)
songPlayerItem = AVPlayerItem(URL: url)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.itemDidFinishPlaying(_:)), name: AVPlayerItemDidPlayToEndTimeNotification, object: songPlayerItem)
songPlayer = AVPlayer(playerItem: songPlayerItem!)
songPlayer?.play()
}
func itemDidFinishPlaying(notification : NSNotification)
{
print("SongFinished")
}
你有任何機會在Xcode中啓用任何異常斷點嗎?如果你這樣做,他們只會拋出ObjC錯誤或C++錯誤? – pbodsk
我有AllExceptions轉折點。解決這個問題似乎可以解決問題。我通常總是有這個突破點,因爲如果應用程序中的某些內容在我運行應用程序時崩潰,它會使調試更快。但爲什麼這會導致這個異常問題呢?這是AVPlayer的一個已知問題嗎? – AdamM
我有同樣的問題,並設置AllExceptions只拋出ObjC爲我解決它。這樣,如果我導致了錯誤,它仍然崩潰,但如果在C++代碼中存在錯誤,則不會崩潰。我不知道爲什麼會發生異常,雖然...對不起 – pbodsk