簡體   English   中英

QMediaPlayer資源錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM