背景视频无法在 safari 浏览器上自动播放使用 svelte 构建网站
Background video not auto playing on safari browser used svelte to build the website
我用svelte建了一个网站
<script lang="ts">
import { MetaTags } from 'svelte-meta-tags';
import Viewport from 'svelte-viewport-info'
import vi from './assets/videofile.mp4'
import posterimg from './assets/PosterImage.png'
</script>
<main>
<video
autoplay
muted
loop
Playsinline
src={vi}
poster={posterimg}>
</video>
</main>
<style>
video
{
width: 100%;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
pointer-events: none;
}
</style>
在线构建和部署网站后
背景视频没有自动开始播放
找到这个答案
Safari doesn't allow autoplay of video on these 2 scenarios
1. when "muted" config not set
2. when iphone is in battery saving mode or in low battery
其他一些人建议包括 muted
autoplay
Playsinline
这已经完成了,但仍然面临同样的问题
有人建议 将 .mp4
视频 link 转换为 javascript 中的 BLOB
像这样
<video id="ForcePlay" width="500px" height="500px" muted playsinline controls>
<source src="url path to your video file" type="video/mp4">
</video>
<script type="text/javascript">
function makeURL(object) {
return (window.URL) ? window.URL.createObjectURL(object) :
window.webkitURL.createObjectURL(object);
}
async function display(videoStream){
var myvideo = document.getElementById('ForcePlay');
let blob = await fetch(videoStream).then(r => r.blob());
var videoUrl= makeURL(blob);
myvideo.src = videoUrl;
}
display('url path to your video file');
</script>
已经有muted
autoplay
Playsinline
还是一样的问题
这是视频 link 您可以在您的 iPhone
上测试 safari
如何将文件转换为 blob svelte
类似于用户建议的解决方案?
还有其他方法可以解决这个问题吗?
视频由 AV1
编码,Safari
整个苹果生态系统和 Android Firefox
source
不支持该视频
我用svelte建了一个网站
<script lang="ts">
import { MetaTags } from 'svelte-meta-tags';
import Viewport from 'svelte-viewport-info'
import vi from './assets/videofile.mp4'
import posterimg from './assets/PosterImage.png'
</script>
<main>
<video
autoplay
muted
loop
Playsinline
src={vi}
poster={posterimg}>
</video>
</main>
<style>
video
{
width: 100%;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
pointer-events: none;
}
</style>
在线构建和部署网站后
背景视频没有自动开始播放
找到这个答案
Safari doesn't allow autoplay of video on these 2 scenarios
1. when "muted" config not set
2. when iphone is in battery saving mode or in low battery
其他一些人建议包括 muted
autoplay
Playsinline
这已经完成了,但仍然面临同样的问题
有人建议 .mp4
视频 link 转换为 javascript 中的 BLOB
像这样
<video id="ForcePlay" width="500px" height="500px" muted playsinline controls>
<source src="url path to your video file" type="video/mp4">
</video>
<script type="text/javascript">
function makeURL(object) {
return (window.URL) ? window.URL.createObjectURL(object) :
window.webkitURL.createObjectURL(object);
}
async function display(videoStream){
var myvideo = document.getElementById('ForcePlay');
let blob = await fetch(videoStream).then(r => r.blob());
var videoUrl= makeURL(blob);
myvideo.src = videoUrl;
}
display('url path to your video file');
</script>
已经有muted
autoplay
Playsinline
还是一样的问题
这是视频 link 您可以在您的 iPhone
上测试 safari如何将文件转换为 blob svelte
类似于用户建议的解决方案?
还有其他方法可以解决这个问题吗?
视频由 AV1
编码,Safari
整个苹果生态系统和 Android Firefox
source