Tecnologia do Blogger.
RSS

[androidbrasil-dev] Manter vídeo tocando (preservar buffer e etc) num fragmento quando rotacionar o device sem manipular o layout XML manualmente.

Bom dia pessoal,

Há alguns dias estou trabalhando num workaround do problema citado no título, basicamente tenho dois XMLs com layouts diferentes para PORT e LAND quais possuem um fragment comum, que por sua vez tem um VideoView (ou Media Player inserido via código, tanto faz). No cenário ideal eu não defino o configChanges no Manifest para ouvir as mudanças de orientação e não dou override no onConfigurationChanged na activity pai para que o OS cuide da troca de layout. Porém quando isso acontece e o vídeo está no meio ele reinicia, sei que isso é causado porque o OS reconstrói a activity, layouts, etc...

Já estou definindo o retain instance do fragment para TRUE porém ele só mantem a instância, e por se tratar de um primo do activity, cai no mesmo ciclo de reconstrução devido a sofrer o detached e attached. Também já testei manter instância do VideoPlayer e re-adicionar num novo view, porém como os componentes criados dinamicamente precisam de um contexto, quando a rotação reinicia a Activity trata-se de um novo contexto.

Achei esses links que dão algumas sugestões, porém a mais elegante julguei ser manipular a adição e remoção de fragments manualmente.

http://stackoverflow.com/questions/6475065/android-videoview-seamless-playback-during-orientation-change
http://stackoverflow.com/questions/4434027/android-videoview-orientation-change-with-buffered-video
http://stackoverflow.com/questions/10679021/ensure-video-buffer-is-preserved-after-orientation-changes-without-handling-onco

Alguém já passou por isso? Já resolveu isso de outra forma?

Obrigado, abraços.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário