在播放另一个时暂停YouTube iframe嵌入

前端之家收集整理的这篇文章主要介绍了在播放另一个时暂停YouTube iframe嵌入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在网页上嵌入了多个YouTube iFrame.如果其中一部电影已经播放,然后用户决定开始播放另一部电影,是否可以停止播放第一部电影,这样一次只播放一部电影?

我查看过’iframe嵌入的YouTube播放器API参考’https://developers.google.com/youtube/iframe_api_reference,但如果我说实话,我就是不明白.我的开发人员技能非常有限……很明显.

可怜的我知道,但这就是我现在所拥有的(只是iFrames)…… http://jsfiddle.net/YGMUJ/

  1. <iframe width="520" height="293" src="http://www.youtube.com/v/zXV8GMSc5Vg?version=3&enablejsapi=1" frameborder="0" allowfullscreen></iframe>
  2. <iframe width="520" height="293" src="http://www.youtube.com/v/LTy0TzA_4DQ?version=3&enablejsapi=1" frameborder="0" allowfullscreen></iframe>

我认为我需要做的就是在视频网址的末尾添加’& enablejsapi = 1′.

任何帮助将非常感激.
先感谢您.

解决方法

您实际上想要使用iFrame Player API,而不是使用iframe.根据您实际想要嵌入的视频数量,您可能希望使这个javascript更具动态性,但是这个工作示例应该足以让您开始使用.

基本上我在这里做的是初始化两个玩家,并在玩家状态改变播放时暂停相反的视频.

您可以在http://jsfiddle.net/mattkoskela/Whxjx/播放以下代码

  1. <script>
  2. var tag = document.createElement('script');
  3. tag.src = "//www.youtube.com/iframe_api";
  4. var firstScriptTag = document.getElementsByTagName('script')[0];
  5. firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);
  6.  
  7. var player;
  8. function onYouTubeIframeAPIReady() {
  9. player1 = new YT.Player('player1',{
  10. height: '293',width: '520',videoId: 'zXV8GMSc5Vg',events: {
  11. 'onStateChange': onPlayerStateChange
  12. }
  13. });
  14. player2 = new YT.Player('player2',videoId: 'LTy0TzA_4DQ',events: {
  15. 'onStateChange': onPlayerStateChange
  16. }
  17. });
  18. }
  19.  
  20. function onPlayerStateChange(event) {
  21. if (event.data == YT.PlayerState.PLAYING) {
  22. stopVideo(event.target.a.id);
  23. }
  24. }
  25.  
  26. function stopVideo(player_id) {
  27. if (player_id == "player1") {
  28. player2.stopVideo();
  29. } else if (player_id == "player2") {
  30. player1.stopVideo();
  31. }
  32. }

猜你在找的HTML相关文章