HLS / Media Source Extensions <video> 在移动设备上第一帧静音和自动播放冻结
HLS / Media Source Extensions <video> with muted & autoplay freezes on first frame on mobiles
我试图在我们的网站上添加英雄背景视频。它由 mux.com.
提供
我将它与 HLS 一起使用,但对于 Chrome,它使用我收集的媒体源扩展。
我知道要让 HTML5 视频自动播放,它也必须静音,我在那边有两个参数。
显然,在 Android Chrome 上,我得到的行为是在第一帧(黑色)冻结,但没有继续,我无法追踪原因。
在冻结的情况下,它仍然会加载视频,只是不会自动播放。
我没有线索。
隔离沙箱:
https://codesandbox.io/s/32yky6x7mq
https://32yky6x7mq.codesandbox.io/
在我的尝试中,我已将其简化为简单的 HTML 应用程序,带有 Hls.js 库和基本的 <video>
标签,但它在手机上会出现问题。
如何让视频在手机上自动播放?
P.S。要准确查看我尝试过的内容,请查看编辑历史记录,因为我已经尝试了很多东西。
具体来说,在我的设备上,Android Chrome,它是由 Data Saver 引起的。
禁用流量节省程序,视频自动播放。
这是自相矛盾的,因为使用 Data Saver 我希望视频根本不会加载,但它正在加载并且自动播放被中断 - 导致更多浪费。
可能还有其他设置阻止自动播放,例如,无法找到 iOS 无法正常工作的确切原因。关于 playsinline
属性有提示,我还没有测试过。 (我会更新的)
值得注意的是,Feature-Policy
header也是:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy
它在我的场景中没有帮助,但它可能与其他场景中的自动播放有关。
我试图在我们的网站上添加英雄背景视频。它由 mux.com.
提供我将它与 HLS 一起使用,但对于 Chrome,它使用我收集的媒体源扩展。
我知道要让 HTML5 视频自动播放,它也必须静音,我在那边有两个参数。
显然,在 Android Chrome 上,我得到的行为是在第一帧(黑色)冻结,但没有继续,我无法追踪原因。
在冻结的情况下,它仍然会加载视频,只是不会自动播放。
我没有线索。
隔离沙箱:
https://codesandbox.io/s/32yky6x7mq
https://32yky6x7mq.codesandbox.io/
在我的尝试中,我已将其简化为简单的 HTML 应用程序,带有 Hls.js 库和基本的 <video>
标签,但它在手机上会出现问题。
如何让视频在手机上自动播放?
P.S。要准确查看我尝试过的内容,请查看编辑历史记录,因为我已经尝试了很多东西。
具体来说,在我的设备上,Android Chrome,它是由 Data Saver 引起的。
禁用流量节省程序,视频自动播放。
这是自相矛盾的,因为使用 Data Saver 我希望视频根本不会加载,但它正在加载并且自动播放被中断 - 导致更多浪费。
可能还有其他设置阻止自动播放,例如,无法找到 iOS 无法正常工作的确切原因。关于 playsinline
属性有提示,我还没有测试过。 (我会更新的)
值得注意的是,Feature-Policy
header也是:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Feature-Policy
它在我的场景中没有帮助,但它可能与其他场景中的自动播放有关。