gpt4 book ai didi

c++ - QMediaPlayer 资源错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:07 28 4
gpt4 key购买 nike

我在 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 文件运行了"file"命令,发现有问题的 MP3 文件有一个 ID3 版本 2.4.0 标签,而所有其他文件都有 ID3 版本 2.3.0。我使用 ID3 标签编辑器完全删除了该文件的 ID3 标签,之后文件成功播放。

这里有一个疯狂的猜测:DirectShow,它被 QMediaPlayer 用作 Windows 的后端,在 ID3 2.4 版上阻塞,只能识别旧版本。 Linux 上的 QMediaPlayer 使用 GStreamer 作为后端,不存在该问题。

关于c++ - QMediaPlayer 资源错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18134724/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com