使用 Avplayer/kit 问题播放本地视频
Posted
技术标签:
【中文标题】使用 Avplayer/kit 问题播放本地视频【英文标题】:Playing Local video with Avplayer/kit Issue 【发布时间】:2017-02-21 20:57:59 【问题描述】:每当我运行该项目时,它都会打开视频播放器,但无法播放视频 。 我该如何解决?如果图片中的代码不够清晰,代码如下:
import UIKit
import AVKit
import AVFoundation
class ViewController: UIViewController
let avPlayerViewController = AVPlayerViewController()
var avPlayer:AVPlayer?
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from nib.
let urlPathString = Bundle.main.path(forResource: "small", ofType: "mp4")
if urlPathString != nil
let movieUrl = NSURL(fileURLWithPath: "/Users/kevingerman/Desktop/Pioneer News Season 2 Episode 1.mp4")
self.avPlayer = AVPlayer(url: movieUrl as URL)
self.avPlayerViewController.player = self.avPlayer
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
@IBAction func playButtonTapped(_ sender: AnyObject)
//Trigger the video to play
self.present(self.avPlayerViewController, animated: true) () -> Void in self.avPlayerViewController.player?.play()
【问题讨论】:
电影文件是否包含在您的项目中?打开 Project Navigator (cmd - 1) 然后选择你的项目根目录 > 你的 Target > Build Phases > Copy Bundle Resources。您的视频必须在此处。如果不是,那么您应该使用加号按钮添加它 为什么要检查字符串urlPathString
是否为零,然后为AVPlayer 添加另一个URL?
【参考方案1】:
评论中建议的解决方案和@Guan 回答的解决方案都是正确的。
你的urlPathString
在这里实际上是零,
让它发挥作用-
1- 按照评论和上述答案中的建议添加目标会员资格,或者
执行以下操作
1.1- 从包中删除 small.mp4,确保你
move it to trash
2.1 - 去垃圾箱并再次将你的 mp4 文件拖放到项目中,你会得到一个像这样的窗口 -
添加回来的时候确保你 -
选中 projectTarget 复选框,如下图所示 -
确保文件名为 small.mp4
【讨论】:
【参考方案2】:确保您的 urlPathString
不为零。
我不知道下面的代码是什么意思:
let movieUrl = NSURL(fileURLWithPath: "/Users/kevingerman/Desktop/Pioneer News Season 2 Episode 1.mp4")
我认为模拟器无法获取你的mac中的文件路径。(我不确定,我以前没有这样做过)。 您可以检查文件的目标成员资格。
代码可能是这样工作的:
var urlPaht = Bundle.main.url(forResource: "small", withExtension:"mp4")
if urlPaht == nil
urlPaht = NSURL(fileURLWithPath: "/Users/kevingerman/Desktop/Pioneer News Season 2 Episode 1.mp4")
self.avPlayer = AVPlayer(url: movieUrl as URL)
self.avPlayerViewController.player = self.avPlayer
【讨论】:
以上是关于使用 Avplayer/kit 问题播放本地视频的主要内容,如果未能解决你的问题,请参考以下文章