2017-03-14 115 views
1

我按照教程试图获得一个视频,当我按下按钮时弹出。视频弹出,但实际的视频不会进行播放,我只是得到这个屏幕....播放本地视频文件

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() 
     }) 
    } 
} 
+3

看起来您还没有设置'的'player' playerController'? –

+0

@ phuc-nguyen:Bingo –

+0

我应该在哪里以及如何设置? –

回答

1

你已经忘了设定的PlayerController的作为phuc-nguyen说播放器实例

否则,您可以利用AVPlayerLayer的播放视频W¯¯ ithout使用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它在

烤所有的控制取决于你的需求