视频标签在 iPhone 所有浏览器上不显示预览。并且也无法正常工作控制

发布于 2025-01-15 12:32:41 字数 832 浏览 1 评论 0原文

我正在研究 html5 视频标签,录制视频后,我使用 jQuery 将其显示在 HTML 页面上。但视频一开始没有显示预览帧,只显示“恢复”按钮。使用“恢复”按钮播放后,视频结束后无法自动显示“恢复”按钮。但它在 Android 设备上完美运行。

输入图片此处描述

在这里,首先我需要使用恢复按钮制作预览图像。然后,视频播放结束后我需要进行第一阶段。 在这里,我尝试过:

            const recordedMedia = document.createElement("video");
            recordedMedia.controls = true;
            // recordedMedia.autoplay = true;
            recordedMedia.setAttribute('playsinline', 'true')
            // recordedMedia.setAttribute('data-wf-ignore', 'true')
            // recordedMedia.setAttribute('data-object-fit', 'cover')
            recordedMedia.setAttribute('preload', 'metadata')
            recordedMedia.setAttribute('type', "video/mp4")

I'm working on html5 video tag, after recording the video, I show it on an HTML page by using jQuery. but the video at first did not show preview frame, it show only the Resume button. After playing by using the Resume button, it can't show automatically the Resume button after the video end. But it works perfectly in android devices.

enter image description here

Here, First I need to make preview image with resume button. Then, after end the video play I need to make first stage.
Here, what I tried:

            const recordedMedia = document.createElement("video");
            recordedMedia.controls = true;
            // recordedMedia.autoplay = true;
            recordedMedia.setAttribute('playsinline', 'true')
            // recordedMedia.setAttribute('data-wf-ignore', 'true')
            // recordedMedia.setAttribute('data-object-fit', 'cover')
            recordedMedia.setAttribute('preload', 'metadata')
            recordedMedia.setAttribute('type', "video/mp4")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你げ笑在眉眼 2025-01-22 12:32:41

解决方案 1.

只需在视频文件 URL 末尾添加 #t=0.001,我们就可以告诉浏览器跳过视频的第一个毫秒。当您执行此操作时,甚至 iOS Safari 也会预加载并向用户显示该特定框架。

因此代码如下所示:

<video>
  <source src="path-to-video.mp4#t=0.001" type="video/mp4" />
</video>

解决方案 2.

WebKit 不会在 iOS 上预加载媒体数据,以避免使用不必要的带宽,但您可以使用 preload 属性覆盖默认值:

<video controls preload="metadata" src="...">
        Your browser does not support the video tag.
</video>

Solution 1.

By simply adding #t=0.001 at the end of the video file url, we are telling the browser to skip the first millisecond of the video. When you do this, even iOS Safari will preload and show that specific frame to the user.

So the code looks like this:

<video>
  <source src="path-to-video.mp4#t=0.001" type="video/mp4" />
</video>

Solution 2.

WebKit does not preload media data on iOS to avoid using unnecessary bandwidth, but you can override the default with the preload attribute:

<video controls preload="metadata" src="...">
        Your browser does not support the video tag.
</video>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文