如何使用 avplayer 播放文档目录中的视频文件

sky*_*ine 4 ios avplayer

我正在 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()

    }
Run Code Online (Sandbox Code Playgroud)

Ash*_*olu 5

试试这个,用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()

}
Run Code Online (Sandbox Code Playgroud)