5

QML でビデオ プレーヤー アプリケーションを実装する最良の方法を探しています。ほとんどすべての QML の例は、ファイルシステムまたは Web からファイルを読み取っています。

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

VideoOutput {
    anchors: parent.fill
    source: mediaplayer
}

に似たインターフェイスを持つMediaPlayerC++派生クラスの独自のソースを指定したいと考えています。それは私のニーズにぴったりです。ビデオを部分的にプリロードし、後で使用するためにキャッシュする必要があります。QObjectQIODevice

私のニーズに対する簡単な解決策はありますか? (私は Qt 5.2 を使用しています)

4

1 に答える 1

1

一般的に言えば、QML によって読み込まれる URL をオーバーライドできるはずです。Qt 4 のドキュメントは、これについて Qt 5 よりも少し明確です。

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

しかし、Qt 5 の場合も同様です。

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

たとえば、カスタム ソースの特定の URL スキーマを使用できるようにする必要があります。

最悪の場合、QNetworkAccessManager および QNetworkReply (QIODevice から継承) から継承 (およびいくつかのメソッドをオーバーライド) する必要があります。

私はqt4以来これで遊んでいませんが、良い出発点はこれだと思います:

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

私はこの種のものに少し時代遅れですが、うまくいけばこれが役に立ちます。

于 2014-11-02T16:34:58.800 に答える