Qt 播放音视频文件报错 DirectShowPlayerService::doRender: Unresolved error code 0x80040266
前言
在之前的文章中,使用 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 用格式工厂转换了一下,问题解决!!
版权声明: 本文为 InfoQ 作者【用户10086】的原创文章。
原文链接:【http://xie.infoq.cn/article/04a3c03e444d012ea60062b0b】。文章转载请联系作者。
评论