Pergunta

Alguém construiu um aplicativo QT S60 (3ª edição, FP2) que reproduz (streaming ou local)?

Eu quero reproduzir vídeo 'em' um widget, não com (digamos) QDESKTOPSVICES.

Eu sei que há documentação sobre como fazer isso com o Symbian, como aqui e aqui Mas ainda estou preso.

(Desculpas antecipadamente por publicar: eu perguntei em outro lugar, mas sem sucesso.)

Foi útil?

Solução

O QT 4 inclui um conjunto de APIs multimídia chamada Phonon, que permitem que você faça exatamente isso. Eles estão sendo implementados atualmente para o Symbian - enquanto o Qt para S60 "Tower" Pré-lançamentoNão inclui suporte para o Phonon no Symbian, o qt 4.6 servirá.

Enquanto isso, sua única opção é usar as APIs MMF simbianas diretamente. Especificamente, seu widget de vídeo - ou um objeto de propriedade dele - precisará criar uma instância de CVideoPlayerUtility, e, portanto, precisará implementar MVideoPlayerUtilityObserver. A API do player de vídeo exige que o cliente forneça uma rwindow para exibir o vídeo - isso pode ser obtido ligando QWidget::winId(), que retorna um CCoeControl* ponteiro. Portanto, você pode obter uma alça de janela ligando

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

No entanto, no entanto, reproduzir vídeo de um aplicativo QT (ou mesmo qualquer aplicativo) em Symbian atualmente exige muito trabalho-especialmente se você deseja oferecer suporte a re-dimensionamento dinâmico e/ou re-posicionamento do conteúdo de vídeo. Observe também que a maneira como o QT é implementado atualmente no Symbian significa que mover outros widgets (parcial ou completamente) no topo do widget de vídeo não funcionará corretamente - o vídeo continuará aparecendo na parte superior. Isso se deve ao fato de que chama QWidget::winId() Atualmente, não faz com que o QT crie uma janela símbola nativa e será retificada em 4.6.

Em resumo, a menos que você esteja com pressa de fazer isso, provavelmente é melhor esperar pelo beta 4.6, que é devido em algumas semanas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top