在 Safari Mobile iOS 17.0.2 上将视频加载为 blob 停止工作

问题描述 投票:0回答:1

我正在尝试将视频加载为 blob。 下面的代码示例最近停止在 Safari Mobile (iOS 17.0.2) 上运行。 该示例适用于桌面浏览器。这是 Safari Mobile 中的错误吗?

async loadVideo  () {
    let url = require('@/assets/[VIDEO_FILE].mp4');
    const res = await fetch (url);
    const blob = await res.blob();
    document.getElementById('myVideo').src = URL.createObjectURL(blob);
},

谢谢!

video mobile safari blob
1个回答
0
投票

我没有解决办法,但我可以确认,对于某些视频,将 URL.createObjectURL(blob) 的返回值分配给 video.src 似乎在某些版本的 iOS 上失败。当我写这篇文章时,我盯着运行三个 iOS 版本的三部手机,我发现:

  • iOS 16 Safari 和 Chrome:视频完全无法显示。

  • iOS 17 Safari 和 Chrome:视频第一帧出现但无法播放。

  • iOS 18 Safari 和 Chrome:视频播放完美。没问题。

上述测试似乎表明存在一个 iOS bug 导致了失败,并且该 bug 似乎已在 iOS 18 中修复。这都是我的猜测,但我确实发现这个 bug 是用 WebKit 记录的,这似乎是相关的:

https://bugs.webkit.org/show_bug.cgi?id=232076

© www.soinside.com 2019 - 2024. All rights reserved.