Вопрос

Кто-нибудь создал приложение Qt S60 (3-е издание, FP2), которое воспроизводит (потоковое или локальное) видео?

Я хочу воспроизводить видео «в» виджете, а не (скажем) с помощью QDesktopServices.

Я знаю, что есть документация о том, как это сделать с помощью Symbian, например здесь и здесь но я все еще застрял.

(заранее извиняюсь за кросспостинг:Я спрашивал в другом месте, но безуспешно.)

Это было полезно?

Решение

Qt 4 включает набор мультимедийных API под названием Phonon, который позволяет вам делать именно это.В настоящее время они реализуются для Symbian - в то время как Предварительная версия Qt для S60 «Tower»не включает поддержку Phonon на Symbian, подойдет Qt 4.6.

В то же время ваш единственный вариант — напрямую использовать API-интерфейсы Symbian MMF.В частности, вашему видео-виджету или объекту, принадлежащему ему, потребуется создать экземпляр CVideoPlayerUtility, и, следовательно, необходимо будет реализовать MVideoPlayerUtilityObserver.API видеоплеера требует, чтобы клиент предоставил RWindow для отображения видео — это можно получить, вызвав QWidget::winId(), который возвращает CCoeControl* указатель.Таким образом, вы можете получить дескриптор окна, вызвав

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

В целом, однако, воспроизведение видео из приложения Qt (да и вообще любого приложения) на Symbian в настоящее время требует довольно много работы, особенно если вы хотите поддерживать динамическое изменение размера и/или перемещение видеоконтента.Также обратите внимание, что способ реализации Qt в настоящее время на Symbian означает, что перемещение других виджетов (частично или полностью) поверх виджета видео не будет работать корректно — видео будет продолжать появляться поверх виджета.Это связано с тем, что вызов QWidget::winId() в настоящее время не заставляет Qt создавать собственное окно Symbian и будет исправлено в версии 4.6.

Подводя итог, можно сказать, что, если вы не торопитесь, вероятно, лучше дождаться бета-версии 4.6, которая выйдет через несколько недель.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top