如何获得YouTube JavaScript播放器API与HTML5在android上自动启动

How to get YouTube JavaScript Player API with HTML5 to autostart on android

本文关键字:HTML5 android 自动启动 API 何获得 YouTube JavaScript 播放器      更新时间:2023-09-26

下面的代码执行正确,自动播放和HTML5 youtube视频在所有的操作系统和浏览器版本,除了chrome在android。是否有一个设置在android操作系统修改或周围的工作,以使这个视频自动播放??一定有办法的。

<div id="player"></div>
<script>
    var tag = document.createElement('script');
    tag.src = "http://www.youtube.com/player_api";
    var firstScriptTag = document.getElementsByTagName('script')[0];
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
            height: '390',
            width: '640',
            videoId: 'u1zgFlCw8Aw',
            playerVars: { 'autoplay': 1, 'controls': 0, 'html5': 1 },
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
            }
        });

    }
    function onPlayerReady(event) {
    }
    function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING ) {

        }
    }

</script>



我尝试了由martialdidit提供的答案,但不幸的是,它加载了youtube播放器控件,但视频没有播放。

一项调查告诉我,在移动设备上,为了节省带宽,自动播放功能被禁用了。我在iOS上找到了这个链接,我想安卓也一样https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html

当玩家准备好时尝试添加event.target.playVideo();

<video id="player"></video>

JS

let tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
let firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
let player;
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
        height: '390',
        width: '640',
        videoId: 'u1zgFlCw8Aw',
        playerVars: { 'autoplay': 1, 'controls': 0, 'html5': 1 },
        events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
        }
    });
}
function onPlayerReady(event) {
    event.target.playVideo();
}
function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING ) {
    }
}