2014-01-17 6 views
5

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

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

VideoOutput { 
    anchors: parent.fill 
    source: mediaplayer 
} 

私はMediaPlayerのための私自身のソースを指定したい - C++ QObject派生クラス、QIODeviceに似たインターフェースを持っています。それは私の必要にぴったりでしょう。ビデオを部分的にプリロードし、後で使用するためにキャッシュする必要があります。

私のニーズにあった簡単なソリューションはありますか? (私は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

私はもののこの種に少し時代遅れだけど、うまくいけば、このことができます。

関連する問題