前言
在之前的文章中,使用qt播放音频在打包后在别的电脑上使用会一直崩溃,今天解决了这个问题。在之前奔溃时候没查出来崩溃代码, 所以一直一拖再拖,在后续过程中仔细查看发现,是Qt播放音视频文件报错DirectShowPlayerService::doRender: Unresolved error code 0x80040266
通过查询发现,0x80040266崩溃是因为解码器的问题,但是在之前使用的过程中我一直有安装解码器我当时使用的是LAV解码器。
LAV解码器使用
(注:LAV解码器在使用的过程中对安装的路径要求比较严格,有需要可以借鉴这篇文章
在周日篇文章中有详细的介绍过程 在QT使用过程中,我一直用的MSVC环境,但是通过这篇文章可以发现,LAV使用额度环境是MinGW-w64 GCC 4.8.1 Stable
K-Lite 解码器
K-Lite Mega Codec Pack它使用的比较广泛下载地址
K-Lite 是一个万能解码器,它可以扩展播放器功能,使其能解码更多格式。他使用更为广泛,不近适用于音频的解码,视频等等也可以解码。提供绝大多数影音格式的解码器,基本上所有格式的音视频都可以正常播放。
解决
在我安装K-Lite(为了以防万一,我把他也安装在了QT目录下),使用发现还是不能正常播放音频,但是有两个是可以正常播放的,由于在之前的读文章过程中发现有可能是音频的问题,因此做了一个大胆的尝试,我把WAV格式的音频换成了我自己下载MP3格式音频,他成功了!!!!再别人电脑上也可以正常使用!我把所有的WAV用格式工厂转换了一下,问题解决!!