YouTube APIで複数動画
ちょこっとやったやつのメモ
HTML
<button class="js-player-start" data-movie="0">再生</button> <button class="js-player-stop" data-movie="0">停止</button> <div id="player_0"></div> <button class="js-player-start" data-movie="1">再生</button> <button class="js-player-stop" data-movie="1">停止</button> <div id="player_1"></div>
JavaScript(jQuery)
var tag = document.createElement('script') tag.src = "//www.youtube.com/iframe_api" var firstScriptTag = document.getElementsByTagName('script')[0] firstScriptTag.parentNode.insertBefore(tag, firstScriptTag) // make player array var players = new Array() function onYouTubeIframeAPIReady() { players[0] = new YT.Player('player_0', { height: '100%', width: '100%', videoId: 'IqKz0SfHaqI' }) players[1] = new YT.Player('player_1', { height: '100%', width: '100%', videoId: '-bNMq1Nxn5o' }) } $(function () { // 再生 $('.js-player-start').on('click', function(){ const target = $(this).attr('data-movie') players[target].playVideo() }) // 停止 $('.js-player-stop').on('click', function(){ const target = $(this).attr('data-movie') players[target].stopVideo() }) })
横幅をレスポンシブにするには、
... height: '100%', width: '100%', ...
とすればよい
YouTube Data API の概要
https://developers.google.com/youtube/v3/getting-started?hl=ja