默认的 QT 的模块 QtWebEngine 默认并不支持浏览器的音频和视频播放,需要使用源代码重新编译,以下仅针对 Windows 系统进行研究。(请注意:QtWebEngine 模块,在 windows 下,必须使用 msvc,否则不支持调用)
前提条件:
- Windows 10 64 位 (2004),操作系统可以自行确定,因为实际体验是这个系统
- Qt 5.12.9(安装时需要勾选源代码),安装在默认位置,推荐直接 C:\qt(如果路径太长,可能编译的时候出现错误)
- Python2.7(不要使用 Python3)
- Visual Studio 2017(或 2019) 需要支持 msvc2017 支持,需要开启 c++支持
- 所在盘符需要至少 150GB 空间剩余,例如 C:\Qt 所在的 C 盘
本文编译的 QT 版本为 5.12.9,VS 版本为 2017。QT 安装路径为 C:\Qt\Qt5.12.9\5.12.9\msvc2017_64
本文默认编译的是 64 位版本 QtWebEngine,32 位版本暂不考虑
参考文章:
How to compile Qt webengine (5.11) on Windows with proprietary codecs
https://blog.csdn.net/weixin_44231643/article/details/105010734
设置环境变量 (PATH)
- Python(>=2.7.x) 并确保添加到了环境变量中
- 添加第三方工具路径到系统环境变量,
C:\Qt\Qt5.12.9\5.12.9\Src\gnuwin32\bin
- 添加 Qt 可执行程序目录到系统环境变量,
C:\Qt\Qt5.12.9\5.12.9\msvc2017_64\bin
设置 VS 为 64 位模式:
cmd 管理员模式切换路径到 64 位环境批处理工具所在路径,例如:(根据你的 vs 版本和专业版、企业版等有所区别),
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build
并运行 64 位环境的批处理工具,例如:
cd C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\ vcvars64.bat
此时建议重启下电脑。
重启后,继续:
打开 vs 命令行工具
- 在开始菜单中找到 VS2017 的菜单目录,以管理员权限打开"适用于 VS 2017 的 x64 本机工具命令提示"
切换到 qtwebengine 的源码目录 (在上一步打开的工具里继续操作)
- vs 命令行工具切换到 qtwebengine 的源码目录
cd C:\Qt\Qt5.12.9\5.12.9\Src\qtwebengine
- 修改 qtwebengine 的编译选项以支持音视频的播放
在命令行工具输入:qmake -- -webengine-proprietary-codecs
- 若编译成功,则会提示"nmake"(nmake 字样,和 nmake install 字样)
执行 nmake 进行编译
- nmake release(仅编译 release 版本)。如果 release 和 debug 一起编译,则执行 nmake
编译成功后,执行 nmake install 会自动安装到 Qt 所在目录,替换相关 dll(也可以在 C:\Qt\Qt5.12.9\5.12.9\Src\qtwebengine\Bin 下找到这些 dll)
编译文件下载
下载:https://download.csdn.net/download/sandy0214/12666210