[英]QMediaPlayer resource error
我在Windows 8 Pro x64上使用Qt Creator 2.7.2(Qt 5.1)。 我在使用QMediaPlayer時遇到麻煩。 我的PC上有一些MP3文件,它們可以在Windows Media Player上正常運行,但是QMediaPlayer無法播放它們。 以下陳述:
void MainWindow::onPlayerStateChanged(QMediaPlayer::State state)
{
qDebug() << "onPlayerStateChanged" << state
<< media_player.error() << media_player.errorString();
// ....
}
連接到媒體播放器的stateChanged
信號的插槽拋出以下輸出:
onPlayerStateChanged QMediaPlayer::PlayingState QMediaPlayer::NoError ""
DirectShowPlayerService::doRender: Unresolved error code 80040266
onPlayerStateChanged QMediaPlayer::StoppedState QMediaPlayer::ResourceError ""
DirectShowPlayerService::doRender: Unresolved error code 80040266
知道有什么問題嗎?
它可能與文件的ID3標簽有關。
我有一個類似的問題:我試圖用QMediaPlayer播放一些MP3文件。 其中一個文件生成了該錯誤,而其他文件則正常播放(在Windows 7上)。 但是在Linux上,它們都運行良好。
因此,我在MP3文件上運行了“文件”命令,並注意到有問題的MP3文件具有ID3版本2.4.0標記,而其他所有文件都具有ID3版本2.3.0。 我使用ID3標簽編輯器完全刪除了該文件的ID3標簽,然后文件成功播放。
此處有一個瘋狂的猜測:DirectShow被QMediaPlayer用作Windows的后端,它在ID3 2.4版上令人窒息,並且只能識別較舊的版本。 Linux上的QMediaPlayer使用GStreamer作為后端,這沒有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.