Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt windows XP上的Phonon无法加载肯定存在的DS后端_Qt_Qt4_Phonon - Fatal编程技术网

Qt windows XP上的Phonon无法加载肯定存在的DS后端

Qt windows XP上的Phonon无法加载肯定存在的DS后端,qt,qt4,phonon,Qt,Qt4,Phonon,我在WinXP上使用phonon direct show后端时遇到问题。基本上,它对我根本不起作用。我已经用4.7.0SDK和从源代码构建的版本尝试过它。在这两种情况下,phonon\u ds94.dll位于/plugins/phonon\u backend/dir中。我的系统是WinXP,我使用VS2008 以下是我如何创建视频播放器: vp = new Phonon::VideoPlayer(this); ... vp->play(QUrl("...")); 在正常程序运行时,这里是

我在WinXP上使用phonon direct show后端时遇到问题。基本上,它对我根本不起作用。我已经用4.7.0SDK和从源代码构建的版本尝试过它。在这两种情况下,phonon\u ds94.dll位于/plugins/phonon\u backend/dir中。我的系统是WinXP,我使用VS2008

以下是我如何创建视频播放器:

vp = new Phonon::VideoPlayer(this);
...
vp->play(QUrl("..."));
在正常程序运行时,这里是我得到的输出:

WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::VideoWidget ( no objectName ).
这是我在调试运行qt creator期间得到的输出:

Exception at 0x7c812afb, code: 0x406d1388: Startup complete, flags=0x0


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x775007b6


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be     continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be     continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be     continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730


Exception at 0x7c812afb, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be     continued)

at:
0     kernel32!RaiseException 0x7c812afb
1     VSFilter!DllGetClassObject 0x24f8a76
2     VSFilter!DllGetClassObject 0x24a77f4
3     VSFilter 0x248459e
4     VSFilter!DllGetClassObject 0x251ac7c
5     VSFilter 0x248a53e
6     ole32!CoCreateInstance 0x77501ee6
7     ntdll!RtlAllocateHeap 0x7c9101db
8     VSFilter!DllGetClassObject 0x24f8b43
9     ntdll!RtlAllocateHeap 0x7c9101db
10    VSFilter!DllGetClassObject 0x24f8b43
11    VSFilter!DllGetClassObject 0x2516646
12    VSFilter!DllGetClassObject 0x2517c6b
13    USER32!GetWindowLongW 0x7e4189cd
14    USER32!DispatchMessageW 0x7e418a10
15    kernel32!ValidateLocale 0x7c839ad8
16    kernel32!GetModuleFileNameA 0x7c80b730

WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::VideoWidget ( no objectName ).

有人有什么想法吗?

我记得有一次对此感到沮丧。你的“phonon_ds94.dll”是用同一版本的Qt构建的吗?它必须与版本号匹配,并且是正确的“调试”或“发布”生成类型。针对“调试”Qt库的应用程序链接不会加载“发布”插件,反之亦然


此外,如果您正在构建调试qt库,您可以进入插件加载代码,看看为什么它没有拾取您的phonon后端。

您试图在QUrl中播放的媒体类型是什么?你知道DirectShow肯定应该玩什么吗?运行Windows Media Player(mplayer2.exe或wmplayer.exe)。你能把QUrl(“…”)中的内容放在打开的URL文本框中,让它只使用WMP播放吗?是的,当然,作为调查的一部分,我已经用mplayer2.exe检查了视频,它播放得很好。似乎它的错误在Qt本身。4.6.3工作正常,但4.7 betas不工作。我已经填写了bugreport,如果有人遇到同样的问题,请去投票我使用诺基亚网站上的binary SDK for VS 2008,我相信捆绑在那里的phonon_ds94.dll编译正确。我还尝试从源代码编译Qt,当然,那里的每个二进制文件都是用同一个编译器编译的。我已经用Dependency Walker检查了phonon_ds94.dll,它发现延迟加载依赖模块存在问题,这不应该引起真正奇怪的问题。应用程序的任何部分调用QCoreApplication::addLibraryPath()时是否出现意外情况?插件是在全局QTDIR中还是相对于您的应用程序?当我遇到这个问题时,我在调试器中逐步完成了插件加载过程。(问题在于我的答案与版本不匹配)。