2012-12-24 7 views
9

나는 내 응용 프로그램에 Video/MediaPlayer QML 요소를 사용하고 사용자 정의 스트림에서 비디오를 재생 갖고 싶어. 당신은 당신이 원하는 무엇이든 할 수 이는 QIODevice에서 읽기를 알 수 있기 때문에 QMediaPlayer은이 기능을 지원하는 것 같습니다. 그러나 MediaPlayer은 URL 만 지원합니다.사용자 정의 URL 프로토콜 핸들러 Qt는 5

내 자신의 스트리밍 프로토콜을 사용하여 내 자신의 URL 방식을 등록 할 수있는 방법이 있습니까? 예를 들어, 내가 막연하게 같은 것을 할 수있는, 내가 rtsp2://...을 만들고 싶어 말 :

class Rtsp2 : public QIODevice 
{ 
    // open, read, seek, close, etc. 
} 

QCoreApplication::registerUrlProtocol("rtsp2", Rtsp2); 
+1

Handeling URL은 운영 체제의 specifick입니다. –

답변

2

나는 세부 사항에 못 봤어을하지만, QML 엔진은 연결을 위해 사용하는 QNetworkAccessManager 있습니다. QNAM 레이어에서 createRequest의 서브 클래 싱과 후킹을 사용하여 자신의 프로토콜을 추가 할 수 있습니다. 그러나 나는 기본 미디어 층은 종종 자신의 IO 추상화를 제공하기 때문에 QMediaPlayer은 용지 공급이 QNAM를 사용하지 않을 수 있습니다 생각한다.

은 (또한, QNAM에 사용자 지정 프로토콜을 추가하는 것은 정확히 사소한 아니다 - 이상적으로는 간단한 'registerProtocolFor'호출 될하지만 슬프게도 이런 경우가 아닌)