YouTube是如何创建一个流畅的视频播放器的

How did YouTube create a fluid video player?

本文关键字:一个 的视频 播放器 何创建 创建 YouTube      更新时间:2023-09-26

如果您在YouTube的任何视频中看到,https://www.youtube.com/watch?v=s8yznE7rkiM,当您重新调整页面尺寸时,视频播放器将根据宽高比进行更改,而不仅仅是简单地重新调整大小。这很有用,因为它不显示黑条。我的尝试没有那么成功。

<style type="text/css">
#actualvid {
width: 100%    !important;
height: auto   !important;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>   
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<div id="actualvid">
<div id="ytapiplayer" style="width: 620px; height: 480px;" >
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
<script type="text/javascript">
var params = { allowScriptAccess: "always", allowfullscreen: "true" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/e/s8yznE7rkiM?enablejsapi=1&playerapiid=ytplayer?rel=0&autoplay=1&rel=0","ytapiplayer", "640", "390", "8", null, null, params, atts);
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
}
function play(el, videoid) {
  if (ytplayer) {
     ytplayer.loadVideoById(videoid);
  } 
// reset background-color for all divs which has class video
$('.video').css('background-color', '#222222');
$(el).css('background-color', '#3A3A3A');
}
</script>
</div>

我尝试这样做的一种方法是将视频放入div中并以这种方式进行:但是,http://css-tricks.com/NetMag/FluidWidthVideo/Article-FluidWidthVideo.php 但是,我无法使其工作。谁能帮忙?我喜欢YouTube这样做的方式,但似乎它会根据窗口大小重新调整大小。

这是一个只有 CSS 的解决方案:

.embed-container {
  position: relative;
  padding-bottom: 56.25%; /* 16x9 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0
}
<div class='embed-container'>
  <iframe src="https://www.youtube.com/embed/C0DPdy98e4c"></iframe>
</div>