【发布时间】:2016-04-13 08:25:52
【问题描述】:
我们有一些视频在我们的 HTML 移动应用中播放效果很好。但是,我们的视频没有声音,只有字幕,所以我们需要移除音量滑块和静音按钮,但保留计时器栏。
这可以用 HTML 或 CSS 完成或切换吗?或者是否需要一些 javascript 来执行此操作?
目前我们的html标签中的设置只是:controls="controls"
【问题讨论】:
标签: javascript css html html5-video
我们有一些视频在我们的 HTML 移动应用中播放效果很好。但是,我们的视频没有声音,只有字幕,所以我们需要移除音量滑块和静音按钮,但保留计时器栏。
这可以用 HTML 或 CSS 完成或切换吗?或者是否需要一些 javascript 来执行此操作?
目前我们的html标签中的设置只是:controls="controls"
【问题讨论】:
标签: javascript css html html5-video
这已经奏效了:
video::-webkit-media-controls-volume-slider {
display:none;
}
video::-webkit-media-controls-mute-button {
display:none;
}
【讨论】:
超级简单:
你的 html 应该是这样的:
<video id="Video1">
<source src="..." type="video/mp4">
<source src="..." type="video/ogg">
Your browser does not support HTML5 video.
</video>
然后添加一个自定义按钮来播放视频:
<button id="play" onclick="vidplay()">></button>
终于有进度条了:
<progress id="progressbar" value="0" max="100"></progress>
然后在javascript中添加一个按钮来播放
var video = document.getElementById("Video1");
function vidplay() {
var button = document.getElementById("play");
if (video.paused) {
video.play();
button.textContent = "||";
} else {
video.pause();
button.textContent = ">";
}
}
还有一个监听器来更新进度条:
video.addEventListener('timeupdate', updateProgressBar, false);
function updateProgressBar() {
var progressBar = document.getElementById('progressbar');
var percentage = Math.floor((100 / mediaPlayer.duration) * mediaPlayer.currentTime);
progressBar.value = percentage; progressBar.innerHTML = percentage + '% played';
}
所以基本上删除“标准控件”并创建您自己的。
如果您想获得更复杂的结果,我会推荐您另一种选择。这可以使用更可配置的设置,例如video.js。
【讨论】:
从视频元素中完全移除控制属性。
在这里试试:http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_video_controls。去掉“controls”属性,栏就会消失。
【讨论】: