ios - 使用 AVPlayer 播放本地 GIF

标签 ios swift avfoundation avplayer gif

我们正在尝试使用 AVPlayer 播放本地 GIF。 AVPlayer 是否支持 GIF 格式?这是我们尝试过的:

   guard let gifUrl = Bundle.main.url(forResource: "myGif", withExtension: "gif") else {
        return
    }

    let gifPlayer = AVPlayer(url: gifUrl)
    self.videoContainer.player = gifPlayer
    self.videoContainer.player?.play()

AVPlayer可以播放GIF吗?

如有任何帮助或建议,我们将不胜感激。谢谢。

最好的问候,Roi

最佳答案

您可以尝试这些步骤来快速使用 AVPlayer 播放本地视频:-

1) 首先将视频添加到您的 xcode 项目中。

2) 检查您在 Bundle 中添加的视频。选择您的项目 Target -> Build Phases -> Copy Bundle Resources。

如果复制捆绑资源中没有视频,您可以点击加号按钮添加。

3) 在您的项目中使用以下代码。

导入 UIKit 导入 AVKit 导入 AVFoundation

类 View Controller :UIViewController {

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    playVideo()
}

private func playVideo() {
    guard let path = Bundle.main.path(forResource: "video", ofType:"m4v") else {
        debugPrint("video.m4v not found")
        return
    }
    let player = AVPlayer(url: URL(fileURLWithPath: path))
    let playerController = AVPlayerViewController()
    playerController.player = player
    present(playerController, animated: true) {
        player.play()
    }
}

希望这对你有帮助:)

关于ios - 使用 AVPlayer 播放本地 GIF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49256442/

相关文章:

php - 随机生成的 PHP IV 在 IOS 中不能完美运行

ios - 在 xcode 中配置脚本失败,退出代码为 1

ios - 在 Swift 中指定 UITextField 的边框半径

swift - 在 swift 中将 If/Else 从 if(x == y || x == z) 缩短为 if(x == y || z)

iphone - 裁剪 AVCaptureSession 捕获的图像

ios - 二维码扫描不工作

ios - XCode:UIWebView 邮件链接不工作?

ios - 在 Xcode 类型 "ViewController"中获取错误不符合协议(protocol)“UITableViewDataSource”

swift - 如何为所有设备提供 sizeForItemAt indexPath 更好的解决方案?

ios - AVFoundation 条形码扫描器在 iphone 上运行良好但在 Ipad 2 上运行不佳