码迷,mamicode.com
首页 > 其他好文 > 详细

Qt视频播放出现的问题

时间:2019-11-06 09:16:16      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:video   出现   local   qstring   文件   div   hbox   解码器   direct   

使用QMediaPlayer和QVideoWidget播放视频

添加模块:

QT += multimedia
QT += multimediawidgets

引用头文件:

#include <QMediaPlayer>
#include <QVideoWidget>

Widget::Widget(QWidget *parent) :
  QWidget(parent),
ui(new Ui::Widget)
{
  ui->setupUi(this);
  QHBoxLayout *m_layout= new QHBoxLayout(this);

  QMediaPlayer *m_player = new QMediaPlayer(this);

  m_player->setMedia(QUrl::fromLocalFile(QString::fromLocal8Bit("C:/baituo.mp4")));

  QVideoWidget *m_videoW = new QVideoWidget(this);

  m_layout->addWidget(m_videoW);

  this->setLayout(m_layout);

  m_player->setVideoOutput(m_videoW);

  m_player->play();
}

代码写起来很简单,编译也能通过,但是运行就会出错

如果文件路径不对或者文件名是中文的,则会显示如下错误:
DirectShowPlayerService::doRender: Unresolved error code 0x80040266

 

DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80004005 ()

Qt 中的多媒体播放,底层是使用DirectShowPlayerService,所以安装一个DirectShow解码器,例如LAV Filters,就可以解决运行出错问题

LAV Filters下载地址:https://github.com/Nevcairiel/LAVFilters/releases

 

 

Qt视频播放出现的问题

标签:video   出现   local   qstring   文件   div   hbox   解码器   direct   

原文地址:https://www.cnblogs.com/mtn007/p/11802875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!