使用 MPMoviePlayerController 流式传输 .m3u8 不起作用

Streaming .m3u8 using MPMoviePlayerController does not work

我使用了 how to play a local video 中的示例并尝试修改以用于 .m3u8 文件。我无法让它工作。我得到一个空白屏幕。我通过在 VLC 上测试确认该文件没问题。任何帮助将不胜感激。

代码如下:

import UIKit
import MediaPlayer

class ViewController: UIViewController {
var moviePlayer : MPMoviePlayerController?
override func viewDidLoad() {
    super.viewDidLoad()
    playVideo()

    // Do any additional setup after loading the view.
}

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

private func playVideo() {
    let path = "http://qthttp.apple.com.edgesuite.net/1010qwoeiuryfg/sl.m3u8"
    if let
        //path = NSBundle.mainBundle().pathForResource("movie", ofType:"m4v"),

        url = NSURL(fileURLWithPath: path),
        moviePlayer = MPMoviePlayerController(contentURL: url) {
            self.moviePlayer = moviePlayer
            moviePlayer.view.frame = self.view.bounds
            moviePlayer.prepareToPlay()
            moviePlayer.scalingMode = .AspectFill
            self.view.addSubview(moviePlayer.view)
    } else {
        debugPrintln("Ops, something wrong when playing .m3u8 file")
    }
}

}

您指定的 url 有误。将其更改为:

url = NSURL(string:path)