gpt4 book ai didi

javascript - 并非每次都能自动播放随机 YouTube 视频

转载 作者:行者123 更新时间:2023-11-29 17:34:09 25 4
gpt4 key购买 nike

这工作得很好,但似乎只是偶尔自动播放。当我尝试通过隐身模式加载网站时,它根本不会自动播放:

我想知道这是否是代码的问题,还是只是因为 YouTube 限制了某些内容

(function(window, document, undefined) {

'use strict';

function removeElement(array, element) {
return array.filter(function(el) {
return el !== element
});
}

function changeVideo() {
if (player.getCurrentTime() >= delay) {
var currentVideo = player.getVideoData().video_id,
randomVideo = removeElement(videoPlaylist, currentVideo)[Math.floor(Math.random() * (videoPlaylist.length - 1))];
player.loadVideoById(randomVideo);
}
}

function onPlayerStateChange(event) {
clearInterval(repeat);
if (event.data === 1) {
repeat = setInterval(changeVideo, 500);
}
}

window.onYouTubeIframeAPIReady = function() {
var randomVideo = videoPlaylist[Math.floor(Math.random() * videoPlaylist.length)];
player = new YT.Player('player', {
height: '315',
width: '560',
videoId: randomVideo,
playerVars: {
'autoplay': 1,
'controls': 0,
'showinfo': 0,
'iv_load_policy': 3
},
events: {
'onStateChange': onPlayerStateChange
}
});
}

var tag = document.createElement('script'),
player,
videoPlaylist = ['wfF0zHeU3Zs', 'WNcsUNKlAKw', '9E6b3swbnWg'],
delay = 10, //s
repeat;

tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

})(window, document);

最佳答案

浏览器阻止声音打开时自动播放。 https://www.theverge.com/2018/5/3/17251104/google-chrome-66-autoplay-sound-videos-mute https://www.theverge.com/2019/3/19/18272377/firefox-66-release-date-news-features-autoplaying-videos

解决此问题的方法可能是将视频静音,直到用户将鼠标移到视频上。 (我认为这是一个常见的解决方案,但如果我错了,请纠正我)

您还必须考虑这样一个事实:用户可能不希望视频自动播放,具体取决于实现此功能的网站类型。

它有时似乎对你有用的原因是因为 chrome 正在了解你想要在你正在创建的网站上播放音频,但例如对我来说它永远不会播放。

关于javascript - 并非每次都能自动播放随机 YouTube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58844412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com