現在、Youtube JavaScript API を使用してビデオを Web ページに埋め込み、所有しているプレイリストを制御しています。私が何度も繰り返しているように見えるエラーは、タイトル、再生アイコン、読み込みアイコンをロードした直後にビデオ自体が真っ暗になることです。一瞬、ビデオが再生されるように見えます。しかし、タイトルがスライドしてビデオを再生できるようになった後、私が得るのは黒い背景だけです。タイトルは、右隅にある YouTube テキストとともに問題なく表示されます。しかし、ビデオ自体は再生されません。
この問題は、私が見ることができる iPhone でのみ発生しています。Android と PC で完璧に動作します。
var playlistDescription = [];
var playlist = [];
var tag = document.createElement("script");
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var youtubePlayer;
function onYouTubeIframeAPIReady() {
playlist.push("youtubevideoid");
$(".video-list-item").each( function() {
if ($(this).data("id") != "youtubevideoid") {
playlist.push($(this).data("id"));
}
})
youtubePlayer = new YT.Player("youtube-player", {
videoId: "youtubevideoid",
height: "378",
width: "672",
playerVars: {
"color1": "#046a3b",
"color2": "#faa820"
},
events: {
"onReady": onPlayerReady,
"onStateChange": onPlayerStateChange
}
});
}
function onPlayerReady(event) {
youtubePlayer.loadPlaylist(playlist);
}
function onPlayerStateChange(event) {
if (event.data == -1 || event.data == 0) {
var playlistDescriptionItem = playlistDescription[youtubePlayer.getPlaylistIndex()];
$(".divSubHeadline").text(playlistDescriptionItem.title);
$(".pageContent span").text(playlistDescriptionItem.description);
}
}
これは、YouTube プレイリストを読み込むために使用するスクリプトです。プレイリスト変数には、ビデオが接続されているプレイリスト アイテムが含まれます。
jsfiddleで動作させることができません-私だけかもしれません..だから、ここにスクリプトを貼り付けました。