Domanda

Qualcuno ha costruito un'applicazione Qt S60 (3rd edition, FP2) che svolge (in streaming o locale) video?

Voglio giocare il video 'in' un widget, non con (diciamo) QDesktopServices.

So che c'è la documentazione su come fare questo con Symbian, come ad esempio qui e qui ma sono ancora bloccati.

(Ci scusiamo in anticipo per il cross-posting:. Ho chiesto altrove, ma senza successo)

È stato utile?

Soluzione

Qt 4 include una suite di API multimediali chiamati Phonon, che ti permettono di fare proprio questo. Sono attualmente in corso di attuazione per Symbian - mentre la pre-release Qt per S60 "Torre" non include il supporto per Phonon su Symbian, Qt 4.6 farà.

Nel frattempo, l'unica opzione è quella di utilizzare le API MMF Symbian direttamente. In particolare, il tuo video widget - o di un oggetto di proprietà di essa - avranno bisogno di creare un'istanza di CVideoPlayerUtility, e quindi avranno bisogno di implementare MVideoPlayerUtilityObserver. Il lettore video API richiede al cliente di fornire un RWindow in cui visualizzare il video - questo può essere ottenuto chiamando QWidget::winId(), che restituisce un puntatore CCoeControl*. È quindi possibile ottenere un handle di finestra chiamando

RWindow& window = *static_cast<RWindow*>(widget->winId()->DrawableWindow())

Tutto sommato però, la riproduzione di video da un'applicazione Qt (o qualsiasi app) su Symbian attualmente richiede un bel po 'di lavoro - soprattutto se si desidera supportare dinamica ridimensionamento e / o ri-posizionamento del contenuto video . Si noti inoltre che il modo in cui Qt è attualmente implementato su Symbian significa che lo spostamento altri widget (parzialmente o completamente) sulla parte superiore del widget di video non funziona correttamente - il video continuerà ad apparire sulla parte superiore. Questo è dovuto al fatto che la chiamata QWidget::winId() attualmente non causa Qt per creare una finestra nativa Symbian, e saranno corrette 4.6.

In sintesi, se non si è in fretta per fare questo, probabilmente è meglio aspettare la 4.6 beta che è dovuto in breve tempo settimane.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top