c++ - QT: DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x8007007b ()
问题描述
我正在使用 Qt 版本 5.14.1。
当我尝试播放视频(.mp3)时,程序停止工作
并且给出的错误是 DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x8007007b ()
AudioPlayer::AudioPlayer(QObject *parent)
: QObject(parent)
, m_backgroundMusic(NULL) //QMediaPlayer * m_backgroundMusic
{
QUrl backgroundMusicUrl = QUrl::fromLocalFile(":/music/8bitDungeonLevel.mp3");
if (QFile::exists(backgroundMusicUrl.toLocalFile()))
{
m_backgroundMusic = new QMediaPlayer(this);
QMediaPlaylist * backgroundMusicList = new QMediaPlaylist();
QMediaContent media(backgroundMusicUrl);
backgroundMusicList->addMedia(media);
backgroundMusicList->setCurrentIndex(0);
backgroundMusicList->setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
m_backgroundMusic->setPlaylist(backgroundMusicList);
}
}
void AudioPlayer::startBGM()
{
if (m_backgroundMusic)
{
qDebug() << m_backgroundMusic;
m_backgroundMusic->play();
}
}
输出如下
QMediaPlayer(0x3987eb0)
DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x8007007b ()
我在网上搜索并将LAV过滤器添加到QT安装目录 ,我也重新启动计算机但没有任何变化。那么如何修复它?
解决方案
您的路径QUrl::fromLocalFile(":/music/8bitDungeonLevel.mp3")
似乎已关闭,AFIK 没有(至少不常见):
用于开始路径的路径命名方案。
更新:
有人告诉我这:/
是指已编译到 Qt 应用程序中的资源,我认为使用Qt Resource Compiler (rcc)
推荐阅读
- syntax - 是否有在相似结构之间移动字段的语法?
- python - 仅根据数据框中的列名设置值
- ios - 更改容器视图高度时调整 JSQMessagesViewController 框架的大小
- typescript - 打字稿错误:“[ts] 属性‘existingProperty’在类型‘{}’上不存在。”
- c++ - 成员变量的结构化绑定
- python - 用 Python 总结以及如何将集合与向量关联起来
- java - 使正则表达式在 Windows 和 linux 上兼容
- node.js - 特定电话号码的即时消息事件
- c# - 在 Docker 中使用 asp.net core 2 模拟 Windows 用户
- c - 复制反向数组的 Memcpy 技巧