DPlayer icon indicating copy to clipboard operation
DPlayer copied to clipboard

移动端隐藏控制栏

Open CoooooLer opened this issue 4 years ago • 8 comments

请添加一个隐藏控制栏的方法,或者进入播放后延迟几秒隐藏控制栏,现在移动端没有自动隐藏控制栏。

CoooooLer avatar Jul 01 '20 03:07 CoooooLer

+1,移动端(PC端也是)现在不自动隐藏控制栏很丑。 目前效果

starxg avatar Aug 12 '20 02:08 starxg

document.getElementById('dplayer').classList.add('dplayer-hide-controller')

加上这一句就可以隐藏控制栏了

CoooooLer avatar Aug 12 '20 02:08 CoooooLer

document.getElementById('dplayer').classList.add('dplayer-hide-controller')

加上这一句就可以隐藏控制栏了

这样播放按钮就没,黑屏了。 效果

starxg avatar Aug 12 '20 02:08 starxg

写个延时2秒再隐藏控制栏

CoooooLer avatar Aug 12 '20 03:08 CoooooLer

写个延时2秒再隐藏控制栏

找到方法了,还是谢谢你。

css: /默认显示中间的播放控制按钮/ .dplayer-mobile-play { display: block !important; }

/如果播放中且隐藏了控制栏 就隐藏中间的播放控制按钮/ .dplayer-playing.dplayer-hide-controller .dplayer-mobile-play { display: none !important; }

html: <div id=dplayer class="dplayer-hide-controller"></div>

mobile:mobile pc:mobile

starxg avatar Aug 12 '20 03:08 starxg

let lstTime = 0;
dp.on("timeupdate", function () {
  curTime = dp.video.currentTime;
  // 记录播放位置,最后10秒不记录
  if (duration - curTime > 10) {
    cookie.set("time_" + videoID, curTime);
  }
  // 针对手机端不能自动隐藏控制条
  if ($("#videoplayer").hasClass("dplayer-hide-controller")) {
    lstTime = curTime;
    return;
  } else {
    if (curTime - lstTime > 10) {
      $("#videoplayer").addClass("dplayer-hide-controller");
    }
    // ↓↓这样写要弄清除记时,太复杂
    // setTimeout(() => {
    // $("#videoplayer").addClass("dplayer-hide-controller");
    // }, 15000);
  }
});

wdssmq avatar Nov 12 '20 07:11 wdssmq

移动浏览器自身的控制栏没法禁用吧是,我试了一下

zSergeant avatar Feb 01 '21 06:02 zSergeant

好像可以调用内部封装的方法??

      player.on('play', function () {
        player.controller.setAutoHide();
      });

wdssmq avatar Mar 13 '22 13:03 wdssmq