簡體   English   中英

Swift - 無法關閉MPMoviePlayerViewController

[英]Swift - Can't Dismiss MPMoviePlayerViewController

我有一個視頻在我的應用程序中的MPMoviePlayerController中打開。 這一切都很有效,除了應該關閉播放器的Done按鈕。 第一次播放視頻時, Done按鈕效果很好。 但是如果你在觀看它時暫停它,然后在你第二次嘗試播放視頻時點擊DoneDone按鈕就不起作用了。 我在這里做了一個屏幕錄制,使其更容易理解: http//1drv.ms/1Jcdodc

有人可以幫忙嗎?

這是我正在使用的代碼:

import UIKit
import MediaPlayer

class MainContent: UIViewController {

//Movie Player variables
    var movieViewController : MPMoviePlayerViewController?
    var movieplayer : MPMoviePlayerController!


override func viewDidLoad() {

        super.viewDidLoad()

        //Video Player setup
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "doneButtonClick:", name: MPMoviePlayerPlaybackDidFinishNotification, object: nil)

        var url = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")!
        movieViewController = MPMoviePlayerViewController(contentURL: url)

}



func doneButtonClick(sender:NSNotification?){
    let value = UIInterfaceOrientation.Portrait.rawValue
    UIDevice.currentDevice().setValue(value, forKey: "orientation")
    }

        //when watch button is pressed, present the movie player
    @IBAction func watchPressed(sender: AnyObject)
    {self.presentMoviePlayerViewControllerAnimated(movieViewController)}

 }

為了解決這個問題,我將myMoviePlayerViewController.moviePlayer.stop()添加到'doneButtonClick'函數中。 然后我再次將myMoviePlayerViewController.moviePlayer.play()添加到

@IBAction func watchPressed(sender: AnyObject)
    {self.presentMoviePlayerViewControllerAnimated(movieViewController)}

 }

總而言之,一個簡單的解決方案! 代碼如下:

import UIKit
import MediaPlayer

class MainContent: UIViewController {

//Movie Player variables
    var movieViewController : MPMoviePlayerViewController?
    var movieplayer : MPMoviePlayerController!


override func viewDidLoad() {

        super.viewDidLoad()

        //Video Player setup
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "doneButtonClick:", name: MPMoviePlayerPlaybackDidFinishNotification, object: nil)

        var url = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")!
        movieViewController = MPMoviePlayerViewController(contentURL: url)

}

 func doneButtonClick(sender:NSNotification?){
    let value = UIInterfaceOrientation.Portrait.rawValue
    UIDevice.currentDevice().setValue(value, forKey: "orientation")
    movieViewController?.moviePlayer.stop()
  }

    @IBAction func watchPressed(sender: AnyObject){
        self.presentMoviePlayerViewControllerAnimated(movieViewController)
        movieViewController?.moviePlayer.play()
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM