YouTubeプレーヤーデモ を使用して、ビデオの自動再生とループ自体に必要なコードを生成しようとしました。ただし、自動再生のみが動作し、ループは発生せず、デモビデオも動作しません。これが私が使ったコードです。
<iframe class="embed-responsive-item" id="ytplayer" type="text/html" width="640" height="360" src="https://www.youtube.com/embed/M7lc1UVf-VE?&autoplay=1&loop=1&rel=0&showinfo=0&color=white&iv_load_policy=3" frameborder="0" allowfullscreen>
</iframe>
ループとともにplaylist
パラメーターを追加してみてください。再生リストの場合、現在の動画IDとして値を設定します。
<iframe class="embed-responsive-item"id="ytplayer" type="text/html" width="640" height="360" src="https://www.youtube.com/embed/M7lc1UVf-VE?&autoplay=1&loop=1&rel=0&showinfo=0&color=white&iv_load_policy=3&playlist=M7lc1UVf-VE"
frameborder="0" allowfullscreen></iframe>
現在、loopパラメーターは、playlistパラメーターと組み合わせて使用した場合にAS3プレーヤーでのみ機能します。単一のビデオをループするには、ループパラメーター値を1に設定し、プレイリストパラメーター値を、プレーヤーAPI URLで既に指定されている同じビデオIDに設定します。
http://www.youtube.com/v/VIDEO_ID?version=3&loop=1&playlist=VIDEO_ID
リファレンス: https://developers.google.com/youtube/player_parameters#loop
受け入れられた答えも私にはうまくいきませんでした。 2018年9月の回避策(ボーナス:JSでハードコーディングする代わりに、#yt-wrap
のCSSで幅と高さを設定します):
<div id="yt-wrap">
<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="ytplayer"></div>
</div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('ytplayer', {
width: '100%',
height: '100%',
videoId: 'VIDEO_ID',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.playVideo();
player.mute(); // comment out if you don't want the auto played video muted
}
// 5. The API calls this function when the player's state changes.
// The function indicates that when playing a video (state=1),
// the player should play for six seconds and then stop.
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
player.seekTo(0);
player.playVideo();
}
}
function stopVideo() {
player.stopVideo();
}
</script>
このようにreact nativeを使用して、プレイリストにも同じビデオID値を使用するようにしてください。
例えばvideo idがSpongeBOBの場合、urlは次のようになります:
https://www.youtube.com/embed/SpongeBOB?playlist =SpongeBOB&loop = 1
以下はreact native webviewの実装です
<WebView
javaScriptEnabled={true}
domStorageEnabled={true}
mediaPlaybackRequiresUserAction={true}
style={{ height:180, width:300,alignSelf:"center",alignContent:"center"}}
source={{uri: 'https://www.youtube.com/embed/qD101Xlc5uw?playlist=qD101Xlc5uw&loop=1' }}
/>
私はちょうど把握:あなたがループを使用するにはplaylist = ""を持っている必要があります
src = "https://www.youtube.com/embed/peSfCy7HFrM?playlist=peSfCy7HFrM&loop=1;rel=0&autoplay=1&controls=0&showinfo=0" frameborder = "0" allowfullscreen>
'playlist': '<?php echo $youtube_video ?>'
playerVars内。
たとえば、完全なコード:
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height:'100%',
width: '100%',
fitToBackground: true,
videoId: '<?php echo $youtube_video ?>',
playerVars: {
'autoplay': 1,
'controls': 0,
'autohide':1,
'enablejsapi':1,
'loop':1,
'disablekb':1,
'fs': 0,
'modestbranding': 0,
'showinfo': 0,
'color': 'white',
'theme': 'light',
'rel':0 ,
'playlist': '<?php echo $youtube_video ?>'
},
events: {
'onReady': onPlayerReady
}
});
}
// 4. The API will call this function when the video player is ready.
function onPlayerReady(event) {
event.target.playVideo();
player.mute();
player.setVolume(0);
//player.setSize(1920, 1080);
player.setLoop(true);
player.setPlaybackQuality('hd1080');
}
あなたのHtmlコード:
<div id="player"></div>
ビデオを変数に保持したい場合は、これを使用します:
<?php $youtube_video='C0DPdy98e4c';?>