Pregunta

Alguien ha construido una aplicación Qt S60 (3ª edición, FP2) que desempeña (streaming o local) de vídeo?

Quiero reproducir vídeo 'en' un widget, no con (digamos) QDesktopServices.

Sé que hay documentación acerca de cómo hacer esto con Symbian, como aquí y aquí pero todavía estoy atascado.

(Disculpas de antemano por la publicación cruzada:. Me han pedido en otro lugar, pero sin éxito)

¿Fue útil?

Solución

Qt 4 incluye un conjunto de APIs multimedia llamados fonones, que le permiten hacer precisamente esto. En la actualidad están siendo implementados para Symbian - mientras que el pre-lanzamiento Qt para S60 "Torre" no incluye soporte para los fonones en Symbian, Qt 4.6 va a hacer.

Mientras tanto, su única opción es utilizar las API directamente Symbian MMF. En concreto, el widget de vídeo - o un objeto de su propiedad - tendrán que crear una instancia de CVideoPlayerUtility, y por lo tanto tendrán que aplicar MVideoPlayerUtilityObserver. La API de reproductor de vídeo requiere el cliente para proporcionar una RWindow en la que mostrar el video - esto puede ser obtenida llamando QWidget::winId(), que devuelve un puntero CCoeControl*. Por lo tanto, se puede obtener un identificador de ventana llamando

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

En general, sin embargo, la reproducción de vídeo desde una aplicación Qt (o de hecho cualquier aplicación) en Symbian actualmente requiere un montón de trabajo - especialmente si quieres apoyar dinámica modificación del tamaño y / o el cambio de posición del contenido de vídeo . Tenga en cuenta también que la manera en la que Qt se implementa actualmente en Symbian significa que mover otros widgets (parcial o totalmente) en la parte superior del widget de vídeo no funcionará correctamente - el video seguirá apareciendo en la parte superior. Esto se debe al hecho de que llamar QWidget::winId() Actualmente no causa Qt para crear una ventana nativa de Symbian, y será rectificado en 4.6.

En resumen, a menos que usted está en un apuro para hacer esto, es probable que sea mejor esperar a la beta 4.6 que deberá presentar en unas pocas semanas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top