10

Videoアプリで/ MediaPlayerQML 要素を使用し、カスタム ストリームからビデオを再生させたいと考えています。QMediaPlayerから読み取るように指示できるため、これをサポートしているQIODeviceようです。ただしMediaPlayer、URL のみをサポートします。

独自のストリーミング プロトコルを使用する独自の URL スキームを登録する方法はありますか? たとえば、 を作りたいとrtsp2://...します。漠然と次のようなことができますか。

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

QCoreApplication::registerUrlProtocol("rtsp2", Rtsp2);
4

1 に答える 1

2

詳細は見ていませんが、QML エンジンには、接続に使用する QNetworkAccessManager があります。createRequest をサブクラス化してフックすることにより、QNAM レイヤーに独自のプロトコルを追加できます。ただし、QMediaPlayer はメディアの読み込みにこの QNAM を使用しない可能性があると思います。これは、基礎となるメディア レイヤーが独自の IO 抽象化を提供することが多いためです。

(また、カスタム プロトコルを QNAM に追加することは簡単ではありません。理想的には単純な「registerProtocolFor」呼び出しですが、残念ながらそうではありません)。

于 2013-05-21T08:57:18.827 に答える