播放本地视频文件

时间:2017-03-14 16:10:34

标签: ios swift uiviewcontroller avplayer

我按照教程进行操作,并在按下按钮时尝试弹出视频。视频弹出,但实际视频没有开始播放,我只是得到这个屏幕....

Blank Screen image

代码如下:

import UIKit
import AVFoundation
import AVKit

class ViewController: UIViewController {
    var playerController = AVPlayerViewController()
    var player:AVPlayer?

    override func viewDidLoad() {
        super.viewDidLoad()
        let videoString:String? = Bundle.main.path(forResource: "motorbikes", ofType: ".m4v")

        if let url = videoString {
            let videoURL = NSURL(fileURLWithPath: url)

            self.player = AVPlayer(url: videoURL as URL)
        }
    }

    @IBAction func goButton(_ sender: Any) {
        self.present(self.playerController, animated: true, completion: {

            self.playerController.player?.play()
        })
    }
}

1 个答案:

答案 0 :(得分:2)

您忘记将播放器控件的播放器实例设置为phuc-nguyen表示

或者您可以使用 AVPlayerLayer 播放视频,而无需使用 AVPlayerViewController

let player = AVPlayer(url: URL(string: "path/myvideo.mp4")!)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()

使用 AVPlayerLayer ,您可以自定义播放器,例如添加自己的控件或视图,但它通常不会是全屏视图。

但是,如果你不想寻找任何自定义,那么坚持使用 AVPlayerViewController 就可以了解所有控件

取决于您的要求