Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(三)qslider禁用鼠标点击跳转

转载请标明出处

上一篇文章Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(二)qslider鼠标点击跳转说到,QSlider的鼠标点击跳转精度不高,所以索性禁用掉鼠标跳转功能。这里就不用我们之前重写的MySlider类了,直接使用QSlider即可。
首先,将slider的pagestep设为0,即鼠标点击别的位置的时候,进度条不移动。但只这样做的话,就会出现,鼠标点击一个位置,滑块会往那个位置上移动一下,再回原位。怎么实现,鼠标点击别的位置,滑块不随着移动呢?

看到有一个博客写了相关代码,但是我没有看懂后面部分的实现,如果有看懂的朋友,麻烦评论告知,谢谢。QT 禁用QSlider点击跳转

这里介绍一下博主偶然发现的一个方法。

打开Qt的另一个例子工程Video Widget Example,发现该工程的进度条无法点击跳转,刚好符合我们的要求。

查看代码发现,相关的代码如下
(1)slider定义

(2)槽函数实现

对比 Mediaplayer videoplayer例子工程中的相关代码:
(1)slider定义

(2)槽函数实现

发现,Mediaplayer videoplayer工程中的时间好像是以豪秒为单位,即都乘或者除了1000,查看Mediaplayer videoplayer的别的代码,例如positionChanged和updateDurationInfo函数也会发现乘或者除了1000。于是尝试改为以秒为单位。结果就大功告成了,具体的原因博主不是很明白,如果有知道的朋友烦请告知。
具体改动的地方如下:

m_slider->setRange(0, m_player->duration());void Player::durationChanged(qint64 duration)
{m_duration = duration;m_slider->setMaximum(m_duration);
}void Player::positionChanged(qint64 progress)
{if (!m_slider->isSliderDown())m_slider->setValue(progress);updateDurationInfo(progress);
}void Player::seek(int seconds)
{m_player->setPosition(seconds);
}void Player::updateDurationInfo(qint64 currentInfo)
{QString tStr;if (currentInfo || m_duration) {QTime currentTime((currentInfo / 3600000) % 60, (currentInfo / 60000) % 60,(currentInfo/1000) % 60, (currentInfo) % 1000);QTime totalTime((m_duration / 3600000) % 60, (m_duration / 60000) % 60,(m_duration/1000) % 60, (m_duration) % 1000);QString format = "mm:ss";if (m_duration > 3600000)format = "hh:mm:ss";tStr = currentTime.toString(format) + " / " + totalTime.toString(format);}m_labelDuration->setText(tStr);
}

Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(三)qslider禁用鼠标点击跳转相关推荐

  1. Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(二)qslider鼠标点击跳转

    Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(二)qslider鼠标点击跳转 转载请标明出处 Qt例子工程 Media ...

  2. Qt Mediaplayer videoplayer 例子工程 Media Player Example 应用过程中出现的问题(一)视频无法播放

    Qt 例子工程 Media Player Example 应用过程中出现的问题(一)视频无法播放 转载请标明出处. Qt播放视频报错 DirectShowPlayerService::doRender ...

  3. Windows Media Player控件的所有属性和方法

    Windows Media Player控件的所有属性和方法----1 player.GetPlayState() 返回播放器状态(0:停止,1:连接,2:缓冲,3:播放,4:暂停,5:寻找) 网页中 ...

  4. Windows Media Player 无损翻录简易教程

    [写在前面]前几天刚好有一个提问音乐专辑如何导入电脑,个人作为一个重度原声粉,想起来可以写一些关于这方面的介绍,其实关于无损翻录.格式转换的问题说穿了很简单,秉着不过度折腾的原则,今天做一下简要的介绍 ...

  5. plex媒体播放器:Plex Media Player for Mac

    Plex Media Player for Mac是一款非常不错的plex媒体播放器,具有强大的实时搜索功能,可让您快速找到所需的电影,表演或歌曲,为您提供了美丽的HTPC体验和轻松的桌面媒体播放器体 ...

  6. 学习Windows 7:使用Windows Media Player管理音乐

    If you're moving from XP to Windows 7, you'll notice that Windows Media Player 12 is a different tha ...

  7. 【原】基于Windows Media Player, 写自己的播放器【有源码,可下载整个工程】

    最近有客户问我,怎么把Windows Media Player 嵌套在自己的项目中. 以前我在Delphi下玩过Windows Media Player,可是在Microsoft Visual Stu ...

  8. Qt操控Windows Media Player

    一.前言 对于Windows平台,Qt有特有的模块来调用ActivityX控件 比如调用WMP,首先需要知道WMP的CLSID:{6BF52A52-394A-11D3-B153-00C04F79FAA ...

  9. QT实现Media Player(媒体播放器)

    QT实现Media Player 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 Media Player示例使用Microsoft Media Player Act ...

最新文章

  1. 从微信公众平台·小程序内测邀请函看应用号动向
  2. MySQL 处理插入重主键唯一键重复值办法
  3. 今天的被子照样不叠的飞鸽传书
  4. C#LeetCode刷题之#697-数组的度( Degree of an Array)
  5. marven编译时:<pre>错误: 不允许使用自关闭元素</pre>
  6. 海康visionmaster-客户端安装步骤
  7. 初学者用什么数位板好,手绘板选择注意什么?
  8. 鼎利5G测试软件不显示信息,鼎利软件应用 - 4G/5G - 通信人家园 - Powered by C114
  9. Android 水瓶动画,贝塞尔Loading
  10. django 设置媒体url_django-文件上传Media url的配置
  11. Win7虚拟机安装vs2019,亲测有效
  12. 视频编码中CBR和VBR的区别
  13. Mac OS X下Adware/malware 的简单手动排除方法
  14. YoutuBe 推荐系统
  15. PYTHON 获取邮件发送时间
  16. C++基础入门知识学习(通俗详细讲解)
  17. buildroot 修改和保存xxx_defconfig make savedconfig错误解决
  18. Python matplotlib绘图模块操作大全
  19. U盘启动快捷键查询列表
  20. 看别人分享的图片停不下来,还有这么有意思的网站?

热门文章

  1. oracle undo数据文件坏,oracle回退文件UNDOTBS01.DBF损坏的处理
  2. 【转载】那些极度自卑的人,后来都怎么样了?
  3. 如何完全卸载Android Studio (干干净净)
  4. 爱创课堂教你如何1分钟选好最合适你的JavaScript框架
  5. WordPress主题 阿里百秀 XIU v7.5
  6. 炫领代挂服务器地理位置,炫领代挂官方网站
  7. 使用winScp实现跳板机登陆内网服务器
  8. 中国造纸行业发展趋势与盈利前景展望报告2022-2027年
  9. 尚硅谷周阳_SpringCloud第二季脑图
  10. Writeup of Android02(android) in WhaleCTF