2017-07-16 8 views
-1

動画を読み込んで再生していますが、動画の横にサムネイルを表示できません。ここでYoutube APIでランダムな動画とサムネイルを表示

はコードです:

<script> 
function rotateYT() { 
    var videos = ['usewkEuDVjU', 
        'IL9iemWe_g8', 
     'gGMi60M5O98', 
     'SN3CgQvqzAo', 
     'W1YFnHjjG8s', 
     'l9qMYZvG7EE', 
     'j_ljOjr54gc', 
     'MhczSQtIgNM', 
     'j_ljOjr54gc', 
     'T-GPePrh7rw', 
     'LTNQFYARFOk', 
     'ehciyVuCyvs', 
     'g4xSmh0LF6Y', 
     'shM7cV-fR9o',]; 

    var index=Math.floor(Math.random() * videos.length); 
    return videos[index]; 
} 
</script> 

<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); 





    // create youtube player 
    var player; 
    function onYouTubePlayerAPIReady() { 
    var videoID = rotateYT(); 
     player = new YT.Player('player', { 
      height: '100%', 
      width: '100%', 
      border: '0', 
      version: '3', 
      showinfo: '0', 
      rel: '0', 
      controls: '0', 
      loop: '0', 
      allowfullscreen: '0', 
      videoId: videoID, 



      events: { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
      } 
     }); 
    } 

// 3. This function creates an <iframe> (and YouTube player) 
// after the API code downloads. 

    // autoplay video 
    function onPlayerReady(event) { 

    } 

    // when video ends 
    function onPlayerStateChange(event) {   
     if(event.data === 0) {    
      window.location="mainvids1computers.html" // redirect 


     } 
    } 
</script> 



<div id="player" style="position:fixed; top:0%; left:0%; width:100px; height:100px;"> 


<img src="http://img.youtube.com/vi/'+videos[index]+'1.jpg/" style="top:100px; left:100px; width:120px; height:180px;"> 


</div> 

私の問題は、imgタグで+動画[インデックス] +を追加しています。私が現在入手しているのは、デフォルトのimgなので、明らかにビデオIDを取得せず、正しく追加しています。これをどうすれば解決できますか?

答えて

0

動画とサムネイルを一致させるには、のように呼び出さないでください。プレーヤーのサムネイルには、videoID機能がありません。これは有効なjavascriptではありません。最後のonYouTubePlayerAPIReadywindowオブジェクトにある必要があります。

function rotateYT() { 
 
    var videos = ['usewkEuDVjU', 
 
    'IL9iemWe_g8', 
 
    'gGMi60M5O98', 
 
    'SN3CgQvqzAo', 
 
    'W1YFnHjjG8s', 
 
    'l9qMYZvG7EE', 
 
    'j_ljOjr54gc', 
 
    'MhczSQtIgNM', 
 
    'j_ljOjr54gc', 
 
    'T-GPePrh7rw', 
 
    'LTNQFYARFOk', 
 
    'ehciyVuCyvs', 
 
    'g4xSmh0LF6Y', 
 
    'shM7cV-fR9o', 
 
    ]; 
 

 
    var index = Math.floor(Math.random() * videos.length); 
 
    return videos[index]; 
 
} 
 
// get random video ID 
 
var videoID = rotateYT(); 
 

 
document.getElementById('player-thumb').src = 'https://img.youtube.com/vi/'+ videoID +'/1.jpg'; 
 

 
// 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); 
 

 
// create youtube player 
 
var player; 
 

 
window.onYouTubePlayerAPIReady = function() { 
 
    player = new YT.Player('player', { 
 
    height: '100%', 
 
    width: '100%', 
 
    border: '0', 
 
    version: '3', 
 
    showinfo: '0', 
 
    rel: '0', 
 
    controls: '1', 
 
    loop: '0', 
 
    allowfullscreen: '0', 
 
    videoId: videoID, 
 

 
    events: { 
 
     'onReady': onPlayerReady, 
 
     'onStateChange': onPlayerStateChange 
 
    } 
 
    }); 
 
} 
 

 
// 3. This function creates an <iframe> (and YouTube player) 
 
// after the API code downloads. 
 

 
// autoplay video 
 
function onPlayerReady(event) { 
 

 
} 
 

 
// when video ends 
 
function onPlayerStateChange(event) { 
 
    if(event.data === 0) { 
 
    window.location = "mainvids1computers.html" // redirect 
 
    } 
 
}
<div id="player" style="position:fixed; top:0%; left:0%; width:240px; height:180px;" allowfullscreen> 
 

 
<img id="player-thumb" src="https://img.youtube.com/vi/default.jpg" style="top:100px; left:100px; width:240px; height:180px;"> 
 

 
</div>

+0

[OK]をあなたの先生に感謝、私は情報に感謝し、v.muchを回避する上で、私はそれが最善の解決策を持っていることを見つけますあなたの助けを借りて一生懸命にしています。私は自分のコードに合わせてコードを少し変更しました...同様の問題があるかもしれない人のために投稿しました。ありがとうございました – russbaker2016

0

自分と同じはしごを登っているwhome誰のためのewwinkの答えにだけ更新...ここ

あなたは今、ビデオをロードせずにサムネイル第一を見ることができます。その後、マウスイベントのビデオ負荷... HERESに

コード...

<div id="player" style="position:fixed; top:0%; left:0%; width:100px; height:100px;" allowfullscreen> 
</div> 

<div id="ewwinkthumbnailed-it"> 
<img id="player-thumb" src="https://img.youtube.com/vi/default.jpg" style="position:absolute; top:0px; left:120px; width:100px; height:100px;" onmouseover="change();"> 
</div> 


<script> 
function rotateYT() { 
    var videos = ['usewkEuDVjU', 
    'IL9iemWe_g8', 
    'gGMi60M5O98', 
    'SN3CgQvqzAo', 
    'W1YFnHjjG8s', 
    'l9qMYZvG7EE', 
    'j_ljOjr54gc', 
    'MhczSQtIgNM', 
    'j_ljOjr54gc', 
    'T-GPePrh7rw', 
    'LTNQFYARFOk', 
    'ehciyVuCyvs', 
    'g4xSmh0LF6Y', 
    'shM7cV-fR9o', 
    ]; 

    var index = Math.floor(Math.random() * videos.length); 
    return videos[index]; 
} 
// get random video ID 
var videoID = rotateYT(); 

document.getElementById('player-thumb').src = 'https://img.youtube.com/vi/'+ videoID +'/1.jpg'; 

// 2. This code loads the IFrame Player API code asynchronously. 



function change() { 
var tag = document.createElement('script'); 

tag.src = "https://www.youtube.com/iframe_api"; 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

// create youtube player 
var player; 

window.onYouTubePlayerAPIReady = function() { 
    player = new YT.Player('player', { 
    height: '100px', 
    width: '100px', 
    border: '0', 
    version: '3', 
    showinfo: '0', 
    rel: '0', 
    controls: '1', 
    loop: '0', 
    allowfullscreen: '0', 
    videoId: videoID, 

    events: { 
     'onReady': onPlayerReady, 
     'onStateChange': onPlayerStateChange 
    } 
    }); 
} 

// 3. This function creates an <iframe> (and YouTube player) 
// after the API code downloads. 

// autoplay video 
function onPlayerReady(event) { 

} 

// when video ends 
function onPlayerStateChange(event) { 
    if(event.data === 0) { 
    window.location = "mainvids1computers.html" // redirect 
    } 
} 
}; 

</script> 
関連する問題