无法通过QtWebEngine获得mp3支持

时间:2017-01-12 11:00:47

标签: qt ffmpeg mp3 qtwebengine

我从git源构建了QtWebEngine 5.7.1以获得专有编解码器的支持。

我在qtwebengine.pro上写了“WEBENGINE_CONFIG + = use_proprietary_codecs”。当qmake正在配置项目时,我看到日志说MP3和H264编解码器已启用。

我花了一天时间用32位的msvc2015完全编译QtWebEngine并且...... mp3支持仍然无效!

我使用html5test.com快速浏览一下webbrowser功能。

我搜索了一下,我发现了一个没有构建的ffmpegsumo.dll。我试图通过互联网获得32位拷贝,我不知道真正放在哪里,我尝试了不同的地方,仍然无法正常工作。最后,我觉得这不是个好主意。

QtWebEngine如何使用mp3编解码器?我有点失落......

4 个答案:

答案 0 :(得分:3)

我终于找到了解决方案。简而言之,不要尝试使用Qt Creator编译Qt SDK或其任何部分...

只需在简单的 cmd.exe shell中使用 qmake nmake 即可。以下是我做草原的方法:

首先,我使用MaintenanceTools在Qt SDK(5.7.1)中下载了源代码。

然后,我下载了额外的工具:

确保将每个.exe添加到系统路径,然后重新启动计算机。

假设Qt SDK安装在c:\ Qt中,并且版本是使用MSVC2015编译的5.7.1,则启动cmd.exe并键入:

cd C:\Qt\5.7\Src\qtwebengine\

C:\Qt\5.7\msvc2015\bin\qmake WEBENGINE_CONFIG+=use_proprietary_codecs

* Wait for basic configuration ... *

nmake

* Wait for compilation ... *

nmake install

* Wait for files copy into SDK ... *

然后您可以正常使用SDK,就像刚下载它一样。

答案 1 :(得分:0)

在铬GYP build parameters文件中,我可以阅读:

['proprietary_codecs==1', {
        'defines': ['USE_PROPRIETARY_CODECS'],
}],

然后我认为Qt WebEngine Features文档中存在错误。

您应该尝试添加qtwebengine.pro文件

WEBENGINE_CONFIG+=proprietary_codecs

而不是

WEBENGINE_CONFIG+=use_proprietary_codecs

答案 2 :(得分:0)

我尝试了SébastienBémelmans的解决方案,但它对我不起作用(我有Qt版本5.10.1)。

相反,我在qt forum上找到了一个解决方案,我将其修改为符合实际的Qt 5.10.1版本

完成SébastienBémelmans所说的一切之后:

#Edit ..\%QT_SOURCES_DIR%\qtwebengine\.qmake.conf
#Add
WEBENGINE_CONFIG += use_proprietary_codecs

#Edit ...\%QT_SOURCES_DIR%\qtwebengine\configure.json
#Search for webengine-proprietary-codecs
"autoDetect": false,
into
"autoDetect": true,
#Run qmake into ...\%QT_SOURCES_DIR%\qtwebengine\ (normally no need of adding WEBENGINE_CONFIG += use_proprietary_codecs after qmake)

答案 3 :(得分:0)

我在stackoverflow上创建了一个关于如何执行此操作的新主题(我失去了5天才找到这些,所以我想节省其他人的时间):

How to compile Qt webengine (5.11) on Windows with proprietary codecs