【问题标题】:Turn off volume control and mute button in HTML5 video关闭 HTML5 视频中的音量控制和静音按钮
【发布时间】:2016-04-13 08:25:52
【问题描述】:

我们有一些视频在我们的 HTML 移动应用中播放效果很好。但是,我们的视频没有声音,只有字幕,所以我们需要移除音量滑块和静音按钮,但保留计时器栏。

这可以用 HTML 或 CSS 完成或切换吗?或者是否需要一些 javascript 来执行此操作?

目前我们的html标签中的设置只是:controls="controls"

【问题讨论】:

    标签: javascript css html html5-video


    【解决方案1】:

    这已经奏效了:

    video::-webkit-media-controls-volume-slider {
    display:none;
    }
    
    video::-webkit-media-controls-mute-button {
    display:none;
    }
    

    【讨论】:

      【解决方案2】:

      超级简单:

      你的 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()">&gt;</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

      【讨论】:

      • 我仍然需要保持理想的计时器栏
      • 用户可能还想使用进度条拖拽视频,也许输入/范围控制更好(或在进度条上捕获点击事件)。
      • 当然可以做到,但这需要维护性。我认为采用 popcornjs 或 video.js 之类的工具来这样做会是一个相当不错的选择。
      【解决方案3】:

      从视频元素中完全移除控制属性。

      在这里试试:http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_video_controls。去掉“controls”属性,栏就会消失。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-09
      • 2020-08-31
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多