【问题标题】:Play local GIF using AVPlayer使用 AVPlayer 播放本地 GIF
【发布时间】:2018-08-21 17:24:22
【问题描述】:

我们正在尝试使用 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 吗?

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

最好的问候,罗伊

【问题讨论】:

  • 不支持。您可以使用 LFAnimatedImage 或类似的库,或者如果您仍希望使用 AVPlayer 将 .gif 转换为 video.mp4 并循环播放。

标签: ios swift avfoundation avplayer gif


【解决方案1】:

您可以尝试以下步骤在 swift 中使用 AVPlayer 播放本地视频:-

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

2) 检查您在 Bundle 中添加的视频。选择您的项目您的目标 -> 构建阶段 -> 复制捆绑资源。

如果 Copy Bundle Resources 中没有视频,那么您可以通过点击加号按钮来添加。

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

导入 UIKit 导入 AVKit 导入 AVFoundation

类视图控制器: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()
    }
}

}

希望对你有帮助:)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多