QtAv

/错误百出阶段///
依赖库portaudio, ffmpeg
http://www.portaudio.com/ [svn: https://subversion.assembla.com/svn/portaudio/portaudio/ ]
http://ffmpeg.org/

如果显示找不到avutil库
1.总qtav.pro和libqtav.pro中添加
INCLUDEPATH += D:\CLib\Qt\Qt5.2.0-beta1\Tools\mingw48_32\include

{
//删除掉
EssentialDepends = avutil avcodec avformat swscale
//在此处添加
LIBS += -lavutil -lavcodec -lavformat -lswscale
}

先编译libQtAv 如果出现 QtAv_res.o生成失败(未知原因可能是windres始终无法识别路径,
或者windres版本不对)
在cmd或msys中单独执行这句就能够生成,再编译就能通过:
windres -i H:\kuaipan\project\c++\QtAV\res\QtAV.rc -o H:\kuaipan\
project\c++\build-QtAV-Local_PC_mingw-Debug\.obj\QtAVd_win_x86\QtAV_res.o --incl
ude-dir=H:/kuaipan/project/c++/QtAV/res -DUNICODE -DQ_DLL_LIBRARY -D__STDC_CONST
ANT_MACROS -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -
DQT_CORE_LIB

libQmlAV生成失败 可能会显示“命令语法不正确”:

最终确定错误原因为 目录名不应该叫c++
单独命令执行编译时 ++号在命令行无双引号保护 编译出错

/之后阶段///
直接把ffmpeg安装mingw/下
注释掉
//EssentialDepends = avutil avcodec avformat swscale
这行之上添加
LIBS += -lavutil -lavcodec -lavformat -lswscale

原因EssentialDepends这句creator不能正确找到依赖的库的位置

构建时显示xcopy错误:
"xcopy" 不存在的命令,
mingw32-make[1]: *** [copydeploymentfolders] Error 1
...

在:项目/构建步骤/make参数里加入
(第一次构建不要加入要等出现错误再加入,
否则有很多复制操作未作):
-no-copy

============================================================
打开视频音频文件时崩溃,是由于音频依赖库库openal或portaudio缺失
@@需修改AudioThread在64行 resetState();之后加上
if (!(d.outputSet->outputs().size()))
        return;
@@在AVPlayer的setupAudioThread()[1068行]中修改为:
    if (!_audio && ao_enable) {
        qDebug("new audio output");
#if QTAV_HAVE(OPENAL)
        _audio = new AOOpenAL();
#elif QTAV_HAVE(PORTAUDIO)
        _audio = new AOPortAudio();
#else
        qDebug("xxxx setupAudioThread fail: need libOpenAL or libPortAudio xx///xx");
        return false;
#endif
    }
以上方法是修复音频缺失导致崩溃 彻底恢复音频需安装以上之一音频库
       

转载于:https://my.oschina.net/rechy/blog/189725

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值