Qt播放视频使用QMediaPlayer要注册Lav解码器,如果手动去注册,每次去使用管理员运行命令或者生成.bat文件都比较麻烦。
解决方法步骤如下:
一:编写注册Lav解码器脚本,并取消控制台的显示,生成.bat文件。
二:使用Bat to Exe将.bat文件转换为exe文件。
三:使用QSettings和QProcess进行注册。
实现步骤:
一:注册Lav脚本
/***-------------------------取消控制台显示-----------------------*****/
@echo off
:: BatchGotAdmin
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute