尝试使用AVPlayer播放视频时收到错误

时间:2019-01-23 19:59:33

标签: ios swift

我正在尝试在xcode 10.1,swift 4.2,macOS应用程序中使用AVPlayer播放本地视频。我已经在UI中创建了AVKit Player View对象,并在viewController.swift中创建了出口。还创建了应该执行所有操作的按钮。您可以在此处查看代码-

import Cocoa
import AVKit
import AVFoundation
import AppKit

class ViewController: NSViewController {

@IBOutlet weak var playerView: AVPlayerView!

@IBAction func buttonAction(_ sender: Any) {

    let videoURL = "/Users/ramix/Downloads/test.mp4"

    let video = AVPlayer(url: URL(fileURLWithPath: videoURL))
    let videoPlayer = AVPlayerView()
    videoPlayer.player = video

    present(videoPlayer, animator:true, completion:{
        video.play()
    })

    override func viewDidLoad() {
        super.viewDidLoad()

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

    override var representedObject: Any? {
        didSet {
    // Update the view, if already loaded.
        }
    }

}

我在多个地方看到使用过AVPlayerViewController,但是由于某种原因,我没有选择该方法的选项。此代码也返回此错误-

无法使用类型为'(AVPlayerView,动画师:布尔,完成:()->无效)'的参数列表调用'present'

我是新手,我想向您寻求帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

似乎您已经为AVPlayerView创建了一个出口,您可能已将其添加到Interface Builder中的视图层次结构中。因此,您无需创建新的播放器视图,只需将播放器分配到出口视图,如下所示:

self.playerView.player = video

顺便说一句,发生错误是因为present用于呈现其他视图控制器,而不是用于显示视图。