Ios 播放本地视频文件

Ios 播放本地视频文件,ios,swift,uiviewcontroller,avplayer,Ios,Swift,Uiviewcontroller,Avplayer,我遵循了一个教程,并试图让视频弹出时,我按下一个按钮。视频弹出,但实际的视频没有开始播放,我只是得到这个屏幕 代码如下: import UIKit import AVFoundation import AVKit class ViewController: UIViewController { var playerController = AVPlayerViewController() var player:AVPlayer? override func view

我遵循了一个教程,并试图让视频弹出时,我按下一个按钮。视频弹出,但实际的视频没有开始播放,我只是得到这个屏幕

代码如下:

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

您忘记设置playercontroller的玩家实例,如前所述

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

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()
使用AVPlayerLayerAVPlayerLayer您可以自定义播放器,比如添加自己的控件或视图,但通常不会是全屏视图

但是,如果您不想进行任何定制,那么最好坚持使用avplayervewcontroller它拥有所有的控件


取决于您的要求

看起来您还没有设置
playerController
player
?我应该在哪里以及如何设置它?感谢您的帮助。我已经把它整理好了丢失的代码是。。。self.playerController,player=self.player