Program Files (x86)\sogoupinyin\Components\程序异常结束

报错:C:\Program Files (x86)\sogoupinyin\Components\程序异常结束

看了很多博客,解答都是野指针内存报错。于是我一个个都检查了,没有指针的错误。最后边注释边运行检查,终于在进度条那里发现了出错语句,如下:

 ui->progressSlider->setValue(player->position()*1000/player->duration());

报错的原因是,QMediaplayer的duration()获取的音视频时间长度为0,发现错误的时候我真是震惊了(因为之前是可以运行的,改了一部分代码之后这语句就错了TAT)

解决方法:
连接durationChanged()信号以接收状态通知。写个槽函数,在槽函数里面调用duration就可以接收到正确的时间。

QObject::connect(player,SIGNAL(durationChanged(qint64)),this,
SLOT(getduration(qint64)));

void mediaplay::getduration(qint64 playtime)
{
    playtime = player->duration();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值