具有控件的HTML5视频播放器+在悬停时播放

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (57)

我想在我的网站上使用Bootstrap + HTML5视频播放器。这是我得到的:

<div align="center" class="embed-responsive embed-responsive-16by9">
    <div class="instruction">
    <p>
    click play to launch fullscreen. click replay to watch in the container from the beginning.
    </p>
    <button href="#" id="play">
    Play
    </button>
    <button href="#" id="replay">
    Replay
    </button>
    </div>
    <video autoplay loop class="embed-responsive-item">
        <source src=http://techslides.com/demos/sample-videos/small.mp4 type=video/mp4>
    </video>
</div>

.instruction {
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  text-align:center;
  position:absolute;
  z-index:99;
  color:#fff;
  top:50%;
}

http://jsfiddle.net/pw7yzLfg/1/

我想要实现的目标:

  • 视频应该填满整个容器(100%宽度+自动高度),
  • 默认情况下应该停止; 只在悬停时播放
  • 我想使用简单的控件:播放(点击观看视频全屏后)和重播(从容器的开头播放)。

我怎样才能做到这一点?

提问于
用户回答回答于

我现在已经工作了一段时间。这是结果。

我使用了JS事件处理程序,视频元素属性和方法以及CSS元素的百分比大小规范。

请注意,目前不支持在按下自定义按钮时启动全屏。

var video=document.getElementById('robot_video')
			
function play(event){
	video.play();
}

function replay(event){
	video.currentTime=0;
}

html,body{
	padding: 0;
	margin: 0;
}

html,body,#video_container{
	width:100%;
	height: 100%;
}

video{
	width: 100%;
	height: 100%;
}

.instruction{
	width:100%;
	margin:0;
	padding:0;
	text-align: center;
	position:absolute;
	z-index:99;
	color:#fff;
	bottom: 10%;
}

<html>
	<head>
	  <title>Video</title>	
	</head>
	<body>
		<div align="center" id="video_container" class="embed-responsive embed-responsive-16by9">
			<div class="instruction">
				<p>
					click play to launch fullscreen. click replay to watch in the container from the beginning.
				</p>
				<button href="#" id="play" onclick="play(event);">
					Play
				</button>
				<button href="#" id="replay" onclick="replay(event);">
					Replay
				</button>
			</div>
			<video controls id="robot_video" class="embed-responsive-item" onmouseover="play(event);">
				<source src=http://techslides.com/demos/sample-videos/small.mp4 type=video/mp4>
			</video>
		</div>
	</body>
</html>

扫码关注云+社区

领取腾讯云代金券