如何在 iOS 上播放 .GIFV 和 .WEBM

Posted

技术标签:

【中文标题】如何在 iOS 上播放 .GIFV 和 .WEBM【英文标题】:How to play .GIFV and .WEBM on iOS 【发布时间】:2016-06-28 03:41:51 【问题描述】:

我正在制作一个 reddit 客户端应用程序。到目前为止,我已经能够使用 FLAnimatedImage 库在 ios 上成功播放 gif。然而,对于大多数“gifs”来说,现在每天都是来自 imgur 的“gifv”格式和来自 gfycat 的“webm”。

有什么方法可以在 iOS 上播放它们吗?我研究并知道这两种格式只是花哨的视频。然而,即使是 avplayer 也不会播放它们。 官方的 imgur 应用可以播放它们,所以必须有办法。

GIF 格式还可以,但是对于较大的文件会出现问题,我们需要先下载整个文件,这需要时间。 GIFV 无需下载整个文件即可连续播放。因此我需要在我的应用中播放它们。

【问题讨论】:

.gifv for iOS 提供一个.mp4 文件。 @sschale 谢谢!是的,好像imgur 的gifv 基本上是没有音频的mp4 视频。所以我最终使用了 avplayer,每个 URL 都替换为 mp4 而不是 gifv。相同的 webm 替换为 mp4。添加了一大堆额外的配置来循环视频等,并让它无缝工作。为了让 avplayer 不会暂停播放音乐,我添加了: [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient withOptions:0 error:nil];再次感谢! 【参考方案1】:

@sschale 谢谢!是的,好像imgur 的gifv 基本上是没有音频的mp4 视频。所以我最终使用了 avplayer,每个 URL 都替换为 mp4 而不是 gifv。相同的 webm 替换为 mp4。添加了一大堆额外的配置来循环视频等,并让它无缝工作。为了让avplayer不会暂停后台播放其他app的音乐,我补充道:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient withOptions:0 error:nil];

【讨论】:

以上是关于如何在 iOS 上播放 .GIFV 和 .WEBM的主要内容,如果未能解决你的问题,请参考以下文章

怎么让 html5 的 video标签在 ios播放

Flutter 视频播放器仅在 iOS 上引发异常

.webm 视频可在 Chrome 和 Opera 中播放,但不能在 Firefox 中播放

video标签播放视频只有声音没有画面&在iOS9中video标签播放无效

为啥我的 webm 文件不能在 Firefox 中播放?

将webm块作为独立视频播放