2011-05-06 3 views
1

GUI 용 Qt 및 Phonon에서 일부 비디오를 표시하는 Visual Studio 2010 (C++)을 사용하여 컴파일 된 코드가 있습니다.XP에서 컴파일 된 코드가 포함 된 Windows 7의 Phonon 문제

Windows XP 시스템에서 코드를 컴파일하고 실행하면 모든 것이 잘 동작합니다. 비디오 및 컨트롤은 다른 Windows XP 시스템에서도 동일하게 올바르게 표시됩니다. 그러나 Windows 7 컴퓨터를 사용하려고 할 때 비디오가 표시되지 않습니다. Phonon 컨트롤이로드되었지만 Phonon VideoWidget의 크기를 조정할 수는 있지만 아무 것도 표시되지 않습니다. 나는 파일 위치를 나타 내기 위해 SetFile 메서드를 사용하고 있으며, MediaObject에서 setCurrentSource를 사용해 보았습니다 (Windows XP에서는 작동합니다).

다른 위치 (절대/상대)를 시도했지만 아무 것도 작동하지 않는 것 같습니다. 또한 XP에서 비디오가 발견되지 않으면 경고 메시지가 표시되지만 Windows 7에서는 오류 메시지가 나타나지 않고 비디오도 표시되지 않습니다. 다른 플레이어와 함께 동영상을 열려고하면 잘 작동합니다 (형식이 다른 동영상에서도 시도했습니다).

무엇이 잘못 될 수 있는지에 대한 아이디어가 있습니까? Phonon과 Windows 7에서 누락 된 부분이 있습니까? 감사!

+3

그냥 추측 : Windows Media Player와 같은 것을 사용하여 비디오를 재생할 수 있습니까? Windows 7 코덱은 XP 코덱보다 더 많은 유효성 검사를 수행하므로 파일에 문제가있을 수 있습니다. –

+0

예, 이미 Windows Media Player로 비디오를 재생하고 다른 형식의 파일을 사용하려고했지만 프로그램의 모든 것이 프로그램 외부에서 작동합니다. 비디오가 발견되지 않을 때도 알려주지 않는 것은 이상합니다 (XP에서 발생). 귀하의 의견을 추가하기 위해 질문을 편집 할 예정이며, 전에 추가해야합니다. – sergi

+1

Windows 7 컴퓨터가 Qt가 설치된 개발 컴퓨터가 아니라고 가정합니다. 포논 백엔드 디렉토리를 복사하는 것을 기억 했습니까? 그리고 실수가 아니라면 Qt의 OpenGL DLL에 의존합니다. 그걸 복사 했니? – Bart

답변

3

응용 프로그램을 다른 컴퓨터에 배포 할 때 Phonon 백엔드를 복사하는 것을 잊지 마십시오. DLL (DLL은 백엔드)에 포함되어 있지만 디렉토리 자체도 포함됩니다.

-Application Directory 
¦-myexe.exe 
¦-phonon_backend 
    ¦-phonon_ds94.dll 

입니다

는 또한 윈도우 (맥 내 생각)에 포논 백엔드는 QtOpenGL 모듈을 사용합니다. 따라서 이것을 복사하는 것을 잊지 마십시오. 응용 프로그램 디렉토리 내부로 이동할 수 있습니다.

어쨌든 작은 코드를 추가하여 (아마도 파일에 쓰는) which mimetypes are available 코드를 추가하면 도움이됩니다. 침을 뱉어 내지 않으면 백엔드에 문제가있는 것입니다. (음, 응용 프로그램의 ...)

이것은 Phonon을 사용하여 응용 프로그램 내에서 비디오를 재생할 때 수행해야했던 작업입니다. 필자는이 응용 프로그램을이 응용 프로그램에 추가 한 지 얼마되지 않아이 작업을 수행하는 유일한 방법이라고 확신하지는 않습니다. 따라서 다른 통찰력을 가진 사람이라면 누구나 자유롭게 의견을 말하십시오.

관련 문제