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

标签 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()

    }

最佳答案

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

相关文章:

ios - 落沙粒子物理

android - 具有 Google session 和帐户选择器的移动应用浏览器的行为

ios - Xcode - Objective C - 以编程方式播放 AVPlayer - 使用标准/系统皮肤播放本地视频

swift - 如何在其他 View 中使用 Swift 中的 AVPlayer 暂停和播放音乐

ios - Swift 2.2 AVPlayer 错误处理

ios - React-native iOS,异步存储错误: "Invalid key - must be at least one character. Key: "

ios - 在 Swift 3 中创建与 super View 相同大小的 View

ios - OpenGL 游戏引擎能否创建它自己的 UIResponder 子类,类似于 Sprite Kit 为 SKNode 所做的?

ios - 当使用 AVPLayer 播放视频时,它会停止背景音乐 ios

objective-c - 我如何获得 MPAVController "setting movie path"