Я пытаюсь создать делегированное меню для видео и аудиофайлов на основе видео на одной из моих веб-страниц проектов, и все отлично работает в FF, Safari, IE и т. Д., За исключением Chrome.
Я знаю, что существуют ограничения для автозапуска в браузере Chrome, начиная с версии 66. (https://developers.google.com/web/updates/2017/09/autoplay-policy-changes)
Я пришел к выводу, что проблема может заключаться в этом, и проверил это, включив звук, что является исключением из политики автоматического воспроизведения Chrome.
Воспроизведение, инициированное пользователем, отлично работает даже в Chrome. Итак, что я хочу попробовать, так это делегирование действия пользователя (нажмите внешнюю кнопку воспроизведения) видео iframe, чтобы оно приняло воспроизведение.
var player = YT.Player( ... )
var player_elem = $(iframe#youtube_x);
/* ... */
case "play":
// why mute?
// => https://developers.google.com/youtube/iframe_api_reference?hl=de#Autoplay_and_scripted_playback
// => https://stackoverflow.com/questions/50507985/youtube-iframe-api-auto-play-not-working-for-chrome-and-video-resolution-set-not
player.mute();
pauseAll(); // 4all player as p => p.pauseVideo()
player.playVideo();
setTimeout(function(){
player.unMute();
setTimeout(function(){
state = player.getPlayerState();
switch(state){
case 5: // positioning
case -1: // not started
case 0: // ended
case 2: // paused
Console.log("cant play content ...");
// player_elem.delegat() is deprecated
player_elem.on( 'click', null, event.data )
break;
case 3: // buffering
Notice.console.log("still buffering .. ");
case 1: // played
break;
}
}, 300);
delayedPlayerStateChanged(player_elem.attr("id"), ctrl_bar);
}, 100);
delayedPlayerStateChanged(player_elem.attr("id"), ctrl_bar);
break;
Мне нужен фрагмент, чтобы делегировать действие пользователя «играть» с моей страницы, чтобы iframe принял его как действие пользователя. Это вообще возможно в хроме?