播放嵌入式YouTube视频JS

时间:2012-07-01 21:54:14

标签: javascript video youtube playback

我正在使用iframe标记嵌入YouTube视频,但未能成功访问对象的播放功能。这是我加载对象的方式:

<iframe id="player" type="text/html" width="640" height="390"
  src="http://www.youtube.com/embed/u1zgFlCw8Aw?enablejsapi=1&origin=http://example.com"
  frameborder="0">

我已经引用了API,但我真的不明白如何访问播放/暂停功能。我尝试使用jquery如下,但捕获的对象没有所需的属性:

vid = $('#player')
vid.playVideo() // doesn't work

我也尝试过如下使用swfsobject:

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript">

    var params = { allowScriptAccess: "always" };
    var atts = { id: "myytplayer" };
    swfobject.embedSWF("http://www.youtube.com/embed/ngf03kCRw3s",
                       "ytapiplayer", "425", "356", "8", null, null, params, atts);

  </script>

但是,页面上没有任何内容(控制台中没有错误)。感谢帮助,谢谢,

1 个答案:

答案 0 :(得分:0)

使用jQuery(和JS)播放嵌入式YouTube视频的一种简单方法是将参数“autoplay = 1”附加到iframe的src属性。 在您的情况下,代码将是这样的:

$("#player")[0].src += "&autoplay=1";

Martin Wolf的另一个例子:

$(document).ready(function() {
  $('#play-video').on('click', function(ev) {
 
    $("#video")[0].src += "&autoplay=1";
    ev.preventDefault();
 
  });
});
body {
  padding: 30px;
}

a {
  display: inline-block;
  margin-bottom: 20px;
  color: #000;
  font-family: Arial, sans-serif;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="play-video" href="#">Play Video</a><br />
 
<iframe id="video" width="420" height="315" src="//www.youtube.com/embed/9B7te184ZpQ?rel=0" frameborder="0" allowfullscreen></iframe>

就是这样。该视频将开始播放。 如果有人需要Vanilla JS的解决方案,请发表评论,如果我有一些额外的时间,我会回来更新答案。