QMediaPlayer的duration问题[通俗易懂]

QMediaPlayer的duration问题

大家好,又见面了,我是全栈君。

遇到了一个坑QMediaPlayer::duration的坑.

这个坑是当你setMedia之后, 直接使用duration获取播放时长会得到0, 出错时候的代码片段例如以下:

void MainWindow::slotPlayAudio(const QString &audioFilePath)
{
    currentAudioFilePath_ = audioFilePath;

    player_->setMedia(QUrl::fromLocalFile(audioFilePath));
    player_->setVolume(50);
    horizontalSliderMusic->setMinimum(0);
    horizontalSliderMusic->setMaximum(player_->duration()); //这里的duration返回是0, 从而导致之后处理进度的时候出错
    player_->play();
    pushButtonPlay->setText("pause");
}

针对这个问题文档中对此描写叙述是”
The value may change across the life time of the QMediaPlayer object and
may not be available when initial playback begins


要解决问题能够在响应durationChanged信号的槽中获取duration, 这个时候duration是正确的, 如此能够使用诸如以下的代码进行处理:

connect(player_, &QMediaPlayer::positionChanged, [this](qint64 position){
        if(player_->duration() != horizontalSliderMusic->maximum())
        {
            horizontalSliderMusic->setMaximum(player_->duration());
        }

        horizontalSliderMusic->setValue(position);
});

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116245.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python for跳过下一个循环_python循环三次跳出循环

    python for跳过下一个循环_python循环三次跳出循环python中如何退出for循环Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。break语句:Python中的break语句,就像在C语言中,打破了最小封闭for或while循环。break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。br…

    2022年8月12日
    10
  • 对接【支付宝】支付接口「建议收藏」

    对接【支付宝】支付接口「建议收藏」场景最近在做支付宝的接口对接,之前做过一个版本,但是由于申请了新的账号以前旧的的接口对接就不能使用了所以就开始对接新的版本接口对接,在这里也记录一下让那些还没有对接的兄弟少走点弯路。准备先申请

    2022年8月6日
    6
  • Idea激活码最新教程2020.2.1版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.2.1版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 2 1 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 2 1 成功激活

    2025年5月23日
    18
  • SpringBoot实现阿里云短信服务

    SpringBoot实现阿里云短信服务SpringBoot实现阿里云短信服务

    2025年8月5日
    7
  • 浅谈 js 字符串 search 方法

    浅谈 js 字符串 search 方法这是一个很久以前的事情了,好像是安心兄弟在学习js的时候做的练习。具体记不清了,今天就来简单分析下search究竟是什么用的。从字面意思理解,一个是搜索字符串吧。varstr="1

    2022年7月2日
    30
  • 聊天没有表情包被嘲讽,程序员直接用python爬取了十万张表情包[通俗易懂]

    聊天没有表情包被嘲讽,程序员直接用python爬取了十万张表情包[通俗易懂]聊天没有表情包被嘲讽,程序员直接用python爬取了十万张表情包前言分析页面具体实现解析页面获取网页内容解析网页内容文件下载多线程下载成果总结前言事情要从几天前说起,我有一个朋友,他在和他喜欢的小姐姐聊天时,聊天的气氛一直非常尬,这时他就想发点表情包来缓和一下气氛,但一看自己的表情包收藏都是这样的。。。。。。这发过去,基本就直接和小姐姐说拜拜了,然后他就向我求救问我有没有表情包,表情包我是没有,但网站有呀,来来,爬虫整起。分析页面今天爬取的网站是斗图吧,有一说一表情包是真的多,看这惊人的页数

    2022年5月11日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号