YouTube JavaScript APIで自動再生を無効にします
-
02-01-2020 - |
質問
Autoplay:0のPARAMSとURLの使用について知っています。この問題は、LoadVideObyId()関数を使用するときです。最初のビデオは常に自動起動ではないようです。しかし、私が新しいビデオに読み込まれた瞬間、新しいビデオで新しいビデオでオートラストを付けます。私はその新しいものを自動的にオートスタートしたくない
$(document).ready(function() {
var player;
window.onYouTubePlayerAPIReady = function() {
player = new YT.Player('player', {
height : '390',
width : '640',
videoId : 'JW5meKfy3fY',
playerVars : {
'autoplay' : 0,
'rel' : 0,
'showinfo' : 0,
'egm' : 0,
'showsearch' : 0,
'controls' : 0,
'modestbranding' : 1,
},
events : {
'onReady' : onPlayerReady,
'onStateChange' : onPlayerStateChange
}
});
};
window.onPlayerReady = function(event) {
//event.target.playVideo();
loadNewVid("bHQqvYy5KYo");
};
window.onPlayerStateChange = function(event, element) {
//When the video has ended
if (event.data == YT.PlayerState.ENDED) {
//Get rid of the player
element.style.display = "none";
}
};
function loadNewVid(vidID){
player.loadVideoById(vidID, "large");
}
.
});
解決
定義によって、loadVideoById()
はビデオをロードして再生します。使用したいものはcueVideoById()
です。これはそれを準備しますが、実際に再生するためのコマンドを待ちます。
https://developers.google.com/youtube/js_api_reference#cuevideobyid
他のヒント
この記事は非常に古いものであると考えていますが、私は誰かがそれに迷惑をかけている場合、
loadVideoById
を呼び出して自動延伸を防ぐ方法はありませんので、プレーヤー上のdestroy()
メソッドを呼び出して、新しいIDを使用して、それを再インストェせることをお勧めします。
何かを言ってみましょう:
$(document).ready(function() {
var player;
var playerParams = {
height : '390',
width : '640',
videoId : 'JW5meKfy3fY',
playerVars : {
'autoplay' : 0,
'rel' : 0,
'showinfo' : 0,
'egm' : 0,
'showsearch' : 0,
'controls' : 0,
'modestbranding' : 1,
},
events : {
'onReady' : onPlayerReady,
'onStateChange' : onPlayerStateChange
}
}
window.onYouTubePlayerAPIReady = function() {
player = new YT.Player('player', playerParams);
};
window.onPlayerReady = function(event) {
//event.target.playVideo();
loadNewVid("bHQqvYy5KYo");
};
window.onPlayerStateChange = function(event, element) {
//When the video has ended
if (event.data == YT.PlayerState.ENDED) {
//Get rid of the player
element.style.display = "none";
}
};
function loadNewVid(vidID){
player.destroy();
playerParams.videoId = vidID;
player = new YT.Player('player', playerParams);
}
});
.
これが助けるかもしれないことを願っています
所属していません StackOverflow