我正在 ios 中创建视频播放器应用程序,如果我将 mp4 文件存储在捆绑资源中或者如果我流式传输 url 它工作正常但是如果我将文件存储在文档目录中并且我尝试使用 avplayer 播放它不播放我应该对文档目录中的离线文件进行不同的处理
代码:
let fileManager = FileManager()
let destinationURLForFile = URL(fileURLWithPath: documentDirectoryPath.appendingFormat("/myvideo.mp4"))
self.playVideo(filePath: destinationURLForFile.path)
func playVideo(filePath:String)
{
var playerItem = AVPlayerItem.init(url:URL.init(string: filePath)!)
var player = AVPlayer(playerItem: playerItem)
var playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.frame
self.view.layer.addSublayer(playerLayer)
player.play()
}
最佳答案
试试这个,用 Swift 3.0 编写,
let fm = FileManager.default
let docsurl = try! fm.url(for:.documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
let path = docsurl.appendingPathComponent("myvideo.mp4")
playVideo(filePath: path)
func playVideo(filePath:String)
{
var playerItem = AVPlayerItem(url: URL(fileURLWithPath: filePath)
var player = AVPlayer(playerItem: playerItem)
var playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.frame
self.view.layer.addSublayer(playerLayer)
player.play()
}
关于ios - 如何使用 avplayer 播放文档目录中的视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178338/