1

(ストリーミングまたはローカル) ビデオを再生する Qt S60 アプリ (第 3 版、FP2) を作成した人はいますか?

(たとえば)QDesktopServicesではなく、ウィジェットでビデオを再生したい。

ここここなど、Symbianでこれを行う方法に関するドキュメントがあることは知っていますが、まだ行き詰まっています。

(相互投稿について事前にお詫び申し上げます。他の場所で尋ねましたが、成功しませんでした。)

4

1 に答える 1

5

Qt 4 には、Phonon と呼ばれる一連のマルチメディア API が含まれており、まさにこれを行うことができます。それらは現在 Symbian 用に実装されています - Qt for S60 "Tower" プレリリース には 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 ベータ版を待つ方がよいでしょう。

于 2009-10-01T15:34:20.753 に答える