2012-03-25 4 views
0

내 프로그램에서 다른 QGraphicsVideoitem에서 5 개의 다른 비디오를 동시에 시작하고 루프해야합니다. 모든 플레이어가 잘 작동하지만 두 개 이상을 만들면 내 응용 프로그램이 3 ~ 2 개의 루프 후에 응답하지 않습니다. 이 문제를 어떻게 관리 할 수 ​​있습니까? API에서이 문제가 있습니까? 아니면 코드를 변경해야합니까?QtMobility 하나의 응용 프로그램에 여러 QMediaplyers

답변

0

다른 스레드에서 과도한 작업을 수행하여 앱이 정지되지 않았습니까?

몇 가지 힌트 : 나는 시도 QtConcurrent::run() function

+0

앱이 사용 고려할 수 데스크톱 (대신 모바일)에서 실행하도록되어있는 경우

당신은 QThread에서 클래스를 파생 할 수

, 당신은 moveToThread() 기능을 사용하거나 수 다른 스레드에서 플레이어를 만들 수 있습니다. 그러나 나는 성공하지 못했습니다. – bossman

+0

QMediaplayer마다 setVideoOutput (QGraphicsVideoItem *)을 사용해야했습니다. 그러나 모든 QGraphicsVideoItem *은 현재 장면에 추가되며 Main Gui Thread에 있습니다. 그래서 setVideoOutput을 사용하면 다른 스레드의 객체에 이벤트를 보낼 수없는 오류가 발생합니다. – bossman

+0

플레이어는 다른 스레드에서 비디오를 렌더링하지만 출력 GUI 요소는 주 스레드에 있습니다. 이것은 충돌입니다. 나는 어떤 아이디어도 가지고 있지 않다. – bossman

관련 문제