使用tvOS从本地文件播放视频

问题描述 投票:2回答:2

当我的应用程序在Apple TV上打开时,我想播放一个小视频(20秒)。但我找不到如何从本地文件实现URL。

这是我到目前为止所做的,但遗憾的是它不起作用:

    override func viewDidLoad() {
        super.viewDidLoad()

        // I know this is how to play a file from a webserver:
        // player = AVPlayer(URL: NSURL(string: "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!)

        // But I can't find how to set the URL to a local file in the app
        let path = NSBundle.mainBundle().pathForResource("bunny", ofType:"mp4")
        let url = NSURL.fileURLWithPath(path!)
        player = AVPlayer(URL: url)

        player?.play()

    }
swift url tvos
2个回答
1
投票

你的代码似乎很好。也许,你应该试试这个:

在Project Navigator中,选择Project Root> Your Target> Build Phases> Copy Bundle Resources。检查您的视频是否在那里,如果没有,请单击加号添加它。

资料来源:http://www.brianjcoleman.com/tutorial-play-video-swift/


0
投票

我想列出最紧凑的方式以及所有四个障碍:

导入AVKit,从viewDidAppear调用playVideo()函数,注意正确的Bundle访问,并确保文件具有Ennio所述的正确目标成员资格!

private func playVideo() {

    guard let path = Bundle.main.path(forResource: "video", ofType:"mov") else {
        debugPrint("video.mov not found")
        return
    }
    let player = AVPlayer(url: URL(fileURLWithPath: path))

    // Create a new AVPlayerViewController and pass it a reference to the player.
    let controller = AVPlayerViewController()
    controller.player = player

    // Modally present the player and call the player's play() method when complete.
    present(controller, animated: true) {
        player.play()
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.