MPMoviePlayerController 不工作 - Swift

MPMoviePlayerController Not Working - Swift

好的,我有一个视图控制器,我想在 viewDidLoad 上的 MPMoviePlayerController 中加载视频文件。我正在使用以下代码,当它运行时,我什么也得不到。我使用的代码如下:

import UIKit
import iAd
import MediaPlayer


class VideoPlayer: UIViewController {

    var moviePlayer : MPMoviePlayerController?


    func playVideo() {
        let url = NSURL (string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")
        moviePlayer = MPMoviePlayerController(contentURL: url)
        if let player = moviePlayer {
            player.view.frame = self.view.bounds
            player.prepareToPlay()
            player.scalingMode = .AspectFill
            self.view.addSubview(player.view)
        }
    }


    override func viewDidLoad() {
        super.viewDidLoad()

playVideo()
    }
}

有一个从 mainViewController 到 VideoPlayerViewController 的 segue,当按下播放按钮时触发。我知道文件已正确链接,因为我在文件中设置了 iAds。

下面附几张截图:

您的问题不在您提供的代码中。它在您项目的其他地方。 我刚刚创建了一个新的 singleView 项目并粘贴了您的代码。将 playVideo 放在 viewDidLoad 中。 运行 它并且在应用程序启动时显示视频。

import UIKit
import MediaPlayer

class ViewController: UIViewController {

var moviePlayer : MPMoviePlayerController?

func playVideo() {
    let url = NSURL (string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")
    moviePlayer = MPMoviePlayerController(contentURL: url)
    if let player = moviePlayer {
        player.view.frame = self.view.bounds
        player.prepareToPlay()
        player.scalingMode = .AspectFill
        self.view.addSubview(player.view)
    }
}

override func viewDidLoad() {
    super.viewDidLoad()
    playVideo()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

添加正在运行的应用程序的屏幕截图