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同一目錄下即可。



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