QMediaPlayer播放整理

1.例子:
    如果只是播放视频的话,可以参考官方的vedioWidget例子;
    如果需要实现图片与视频轮询播放,由于图片播放,并不会发出state完毕的状态信号,故可以使用QTimer轮询的手法,进行自动切换


2.播放格式:
    QMediaPlayer是对底层播放框架的封装,具体格式依赖播放框架,Windows上就是DirectShow,安装LAV Filters之类的DirectShow解码框架就可以支持更多的格式。Linux下是GStreamer,类似。
    参考自foruok :https://bbs.csdn.net/topics/391062417

3.错误代码编写,参考官方例子,关注QMedaiPlayer的error:
//参考Qt官方例子 videowidget 
        typedef void (QMediaPlayer::*ErrorSignal)(QMediaPlayer::Error);
        connect(&m_mediaPlayer, static_cast<ErrorSignal>(&QMediaPlayer::error),
                this, &UiAdvMediaWidget::slotHandleError);

void UiAdvMediaWidget::slotHandleError() { const QString errorString = m_mediaPlayer.errorString(); QString message = "Error: "; if (errorString.isEmpty()) message += " #" + QString::number(int(m_mediaPlayer.error())); else message += errorString; m_tipLabelPtr->setText(message); }


4.发布问题:
如果发布后,发现报错:
Error: The QMediaPlayer object does not have a valid service ;
则需要找到 plugins/mediaservice,将整个mediaservice文件夹复制到与exe同一目录下即可。



    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章