我在swift UIview中有一個函數使得2個mp4的循環。第一個MP4播放良好,但第二個不是,它似乎只播放一次,我怎麼能解決這個問題?爲什麼if語句在這個函數中從來沒有真
let videoURL: NSURL = NSBundle.mainBundle().URLForResource(instrumentaimp4[skaicius], withExtension: "mp4")!
let sakeleURL: NSURL = NSBundle.mainBundle().URLForResource("sakele_blikas", withExtension: "mp4")!
player = AVPlayer(URL: videoURL)
player?.actionAtItemEnd = .None
player?.muted = true
sakele = AVPlayer(URL: sakeleURL)
sakele?.actionAtItemEnd = .None
sakele?.muted = true
let playerLayer = AVPlayerLayer(player: player)
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer.zPosition = 1
let playerLayer2 = AVPlayerLayer(player: sakele)
playerLayer2.videoGravity = AVLayerVideoGravityResizeAspectFill
playerLayer2.zPosition = 1
view.layer.addSublayer(playerLayer2)
view.layer.addSublayer(playerLayer)
player?.play()
sakele?.play()
//loop video
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "loopVideo:",
name: AVPlayerItemDidPlayToEndTimeNotification,
object:nil)
func loopVideo(notification: NSNotification) {
if let finishedPlayer = notification.object as! AVPlayerItem!{
if finishedPlayer == self.sakele {
self.sakele?.seekToTime(kCMTimeZero)
self.sakele?.play()
NSLog("1")
}else{
self.player?.seekToTime(kCMTimeZero)
self.player?.play()
NSLog("2")}
}}
NSLog(「2」)從未發生。我的錯誤在哪裏?任何幫助apreciated
發佈了完整的代碼,方法循環視頻缺少一個大括號。 –
我的不好,修正了它 – snukumas
如果「玩家」不玩,else語句永遠不會達到,因爲遊戲結束通知將永遠不會被解僱。你確定視頻網址是正確的嗎?因爲您正在使用它作爲可選播放器?.play()可能無法正常工作,但代碼仍然可以無錯地運行 – giorashc