0

我在 WinXP 上遇到了 phonon direct show 后端的问题。基本上它对我来说根本不起作用我已经尝试过使用4.7.0 SDK和从源代码构建的版本。在这两种情况下, phonon_ds94.dll都位于 /plugins/phonon_backend/ 目录中。我的系统是WinXP,我用的是VS 2008。

这里我如何创建视频播放器:

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 ).

有没有人有任何想法?

4

1 回答 1

0

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

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

于 2010-08-19T14:17:01.627 回答