Qt S60 アプリケーションのビデオ?
-
19-09-2019 - |
解決
Qt 4 には、Phonon と呼ばれる一連のマルチメディア API が含まれており、これを使用するとまさにこれを行うことができます。これらは現在 Symbian 向けに実装されていますが、 Qt for S60「タワー」プレリリースSymbian 上の Phonon のサポートは含まれていませんが、Qt 4.6 には含まれています。
それまでの間、唯一の選択肢は、Symbian MMF API を直接使用することです。具体的には、ビデオ ウィジェット (またはそれが所有するオブジェクト) は、次のインスタンスを作成する必要があります。 CVideoPlayerUtility
, したがって、実装する必要があります MVideoPlayerUtilityObserver
. 。ビデオ プレーヤー API では、クライアントがビデオを表示するための RWindow を提供する必要があります。これは、呼び出しによって取得できます。 QWidget::winId()
, を返します。 CCoeControl*
ポインタ。したがって、次の呼び出しによってウィンドウ ハンドルを取得できます。
RWindow& window = *static_cast<RWindow*>(widget->winId()->DrawableWindow())
ただし、全体として、現在、Symbian 上で Qt アプリ (または実際には任意のアプリ) からビデオを再生するには、特にビデオ コンテンツの動的なサイズ変更や位置変更をサポートしたい場合には、かなりの作業が必要です。現在の Qt の Symbian 上での実装方法では、他のウィジェットを (部分的または完全に) ビデオ ウィジェットの上に移動すると正しく動作せず、ビデオは引き続き上に表示されることにも注意してください。これは、呼び出しが原因であるという事実によるものです。 QWidget::winId()
現在のところ、Qt はネイティブ Symbian ウィンドウを作成しませんが、4.6 で修正される予定です。
要約すると、急いでいない限り、数週間後にリリースされる 4.6 ベータ版を待ったほうがよいでしょう。