Tecnologia do Blogger.
RSS

[androidbrasil-dev] Ajuda com multithreading para tentar entender o que acontece num cenário específico de streaming com a lib AACDecoder

Estou com um probleminha no meu app Android que reproduz uma rádio online e desconfio que uma questão de multithreading pode me ajudar mas não tenho mto conhecimento sobre essa área.
Meu problema é que a biblioteca que decodifica o streaming fica um tempo bufferizando até começar a tocar, e se eu preciso por algum motivo que esse carregamento seja cancelado, seja por atingir um tempo limite de conexão ou o usuario clicar em cancelar, o player entra meio que num estado inconsistente onde minhas flags (controladas por métodos callback) apontam que ele esta parado mas ele continua, e a partir daí eu ja não tenho mais controle pq o botão está preparado para dar o stop, mas quando eu aperto ele da o play e etc...

Eu pensei em forçar todos os comandos no objeto a serem rodados dentro de uma mesma thread pra ver se resolve mas não tenho certeza de como se faz isso. Eu acho que é inicializando um handler no meu service e executando os comandos dentro desse mesmo handler mas gostaria de confirmar com vocês aqui.

Uma outra coisa que gostaria de deixar claro é que o meu objeto tem dois métodos para reproduzir, o mPlayer.playAsync(url) e o mPlayer.play(url); Por enquanto estou usando o async mas talvez eu tenha que mudar isso, como eu disse, tenho pouco conhecimento de multithread;

Os métodos estão aqui no paste.bin pra quem quiser dar uma olhada.

A lib é esta: https://github.com/vbartacek/aacdecoder-android

Qualquer ajuda é bem vinda. Obrigado.




--
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