2012-12-24 15 views
9

Uygulamamda Video/MediaPlayer QML öğesini kullanmak ve özel bir akıştan video oynatmasını istiyorum. QMediaPlayer bunu destekliyor gibi görünüyor çünkü bunu istediğiniz herhangi bir şey yapabilen QIODevice'dan okuyabiliyorsunuz. Ancak MediaPlayer sadece bir URL'yi desteklemektedir.Özel URL protokolü işleyicisi Qt 5

Kendi akış protokolümü kullanan kendi URL şemasını kaydettirmenin herhangi bir yolu var mı? Örneğin, belli belirsiz gibi bir şey yapabileceğini, ben rtsp2://... yapmak istedim ki:

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

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

handeling URL'ler os specifick olduğunu. –

cevap

2

detaylara bakmadım ama QML motoru bağlantı için kullandığı bir QNetworkAccessManager vardır. QNAM katmanında kendi protokollerinizi createRequest alt sınıflarını ve kancalarını oluşturarak ekleyebilirsiniz. Ancak QMediaPlayer'ın bu QNAM'i medya yüklemesi için kullanamayacağından şüpheleniyorum çünkü temel medya katmanı genellikle kendi IO soyutlamasını sağlıyor.

(Ayrıca, QNAM için özel protokolleri ekleyerek tam olarak önemsiz değil - ideal olarak basit bir 'registerProtocolFor' çağrısı olurdu ama ne yazık ki bu durum böyle değil)