2014-01-17 5 views
5

QML로 비디오 플레이어 응용 프로그램을 구현하는 가장 좋은 방법을 찾고 있습니다. 거의 모든 QML 예는 파일 시스템 또는 웹에서 파일을 읽고 :C++에서 QML 비디오 플레이어로 비디오 데이터 입력

MediaPlayer { 
    id: mediaplayer 
    source: "groovy_video.mp4" 
} 

VideoOutput { 
    anchors: parent.fill 
    source: mediaplayer 
} 

내가 MediaPlayer 내 자신의 소스를 지정하려면 - QIODevice 유사한 인터페이스를 가진 C++ QObject 파생 클래스. 그게 내 필요에 완벽 해. 비디오를 미리로드하고 나중에 사용하기 위해 캐시해야합니다.

내 요구에 쉽게 해결책이 있습니까? (Qt 5.2를 사용 중입니다.)

답변

1

일반적으로 QML에 의해로드 된 모든 URL을 무시할 수 있어야합니다.

https://doc.qt.io/qt-4.8/qdeclarativenetwork.html

그러나 같은 Qt는 5 비슷해야합니다 : Qt는 4 문서는 좀 더 명시 적으로이 약 Qt는 5보다

http://doc.qt.io/qt-5/qqmlnetworkaccessmanagerfactory.html

예를 들어, 사용자 정의 소스 magic + videos : // ....에 대한 특정 URL 스키마를 사용할 수 있어야합니다.

최악의 시나리오는 QNetworkAccessManager 및 QNetworkReply (QIODevice에서 상속)에서 상속 (및 일부 메서드 재정의)해야합니다.

나는 QT4 이후이 함께 연주 해본 적이 없어하지만 좋은 출발점이 될 것이라고 가정

http://doc.qt.io/qt-5/qtqml-networkaccessmanagerfactory-example.html

내가 이런 종류의 물건에 조금 오래된 해요,하지만 희망이 도움이됩니다.

관련 문제