やりたいこと
APIを使った動画埋め込みで、パラメータを指定して
50秒から100秒までの50秒間のみをループさせたい。
前提として
・動画を全画面で背景表示
・音声on-offボタンを設置(最初はmuteでオートプレイ)
##うまくいかない点
1巡目は50秒から100秒までが再生されるのですが
2巡目からは動画全編が再生されてしまいます。
APIを使う理由、他に検討した方法等
jQueryのmb.YTPlayer.jsを使っても似たようなことはできるのですが
このライブラリを使うと音声制御については
youtubeのコントロールバーのボリュームを表示するしかなく、
全画面表示で動画の縦横比を変わると
コントロールバーが左右に見切れてしまうため不採用としました。
上記の点以外は問題なく動作し、
該当部分のみをループ再生させることはできました。
##試したコード
html
1<div id="youtube"></div>
js
1// IFrame Player API の読み込み 2var tag = document.createElement('script'); 3tag.src = "https://www.youtube.com/iframe_api"; 4var firstScriptTag = document.getElementsByTagName('script')[0]; 5firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 6 7// YouTubeの埋め込み 8var player; 9function onYouTubeIframeAPIReady() { 10 ytPlayer = new YT.Player( 11 'youtube', // 埋め込む場所の指定 12 { 13 videoId: 'XXXXXXXXXX', // YouTubeのID 14 rel: 0, // 再生終了後に関連動画を表示するかどうか設定 15 // パラメータの設定 16 playerVars: { 17 autoplay: 1, // 自動再生するかどうか設定 18 playlist:'XXXXXXXXXX', 19 controls: 0, 20 modestbranding: 0, 21 loop: 1, 22 start: 50, 23 end: 100, 24 }, 25 26 // イベントの設定 27 events: { 28 'onReady': onPlayerReady, // プレーヤーの準備ができたときに実行 29 } 30 } 31 ); 32}
loopとendのパラメータを共存させるのは無理なのでしょうか?
解決方法をお教えいただけますと幸いです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。