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);
});

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 初识Promises[通俗易懂]

    初识Promises[通俗易懂]原文:PromisesinNode.jswithQ–AnAlternativetoCallbacksby MarcHarter 《Node.jsinPractice》怎么写异步代码?相对原始的callbacks而言,promises无疑是更好的选择。可掌握promises的概念及其用法可能不太容易,而且很有可能你已经放弃它了。但经过一大波码农的努力,promi

    2022年10月31日
  • 青龙面板使用_京东薅羊毛 青龙面板

    青龙面板使用_京东薅羊毛 青龙面板轻量服务器—-青龙面板开启京东白嫖1.拉取镜像,部署dockerpullwhyour/qinglong:latestdockerrun-dit\-v$PWD/ql/config:/ql/config\-v$PWD/ql/log:/ql/log\-v$PWD/ql/db:/ql/db\-p5700:5700\–nameqinglong\–hostnameqinglong\–restartalways

  • opencv 人脸识别 (二)训练和识别

    opencv 人脸识别 (二)训练和识别上一篇中我们对训练数据做了一些预处理,检测出人脸并保存在\pic\color\x文件夹下(x=1,2,3,…类别号),本文做训练和识别。为了识别,首先将人脸训练数据转为灰度、对齐、归一化,再放入分类器(EigenFaceRecognizer),最后用训练出的model进行predict。—————————————–环境:vs2010+op

  • golang 基础编程

    golang 基础编程

  • 一文搞懂反卷积,转置卷积

    一文搞懂反卷积,转置卷积一文搞懂反卷积,转置卷积前言本文翻译自《Up-samplingwithTransposedConvolution》,这篇文章对转置卷积和反卷积有着很好的解释,这里将其翻译为中文,以飨国人。如有谬误,请联系指正。转载请注明出处。联系方式:e-mail:FesianXu@163.comQQ:973926198github:https://github.com…

  • JS中indexOf的用法 「建议收藏」

    JS中indexOf的用法 「建议收藏」String.IndexOf(Char,[startIndex],[count]):返回指定字符在原字符串中的第一个匹配项的索引。可指定字符开始检索位置和指定长度的字符,若没有找到该字符,则返回

发表回复

您的电子邮箱地址不会被公开。

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