Eu já fiz 1 aplicação assim para IOS e 2 para Android, uma delas usando um approach parecido com o seu e outra fazendo parecido com o que o pessoal da outfit7 faz, que eu vou resumir rapidamente.
As animações são montadas dinamicamente a partir de imagens jpg e uma compressão do wav, por exemplo, a sequẽncia de imagens para ele falar ocupa aproximadamente 400KB, total de 15 imagens do personagem abrindo a boca apenas. Eles avaliam a amplitude do sinal e montam os frames dinamicamente de acordo com a amplitude.
Para Android eles criaram uma engine que monta o stream com uma versão que eles compilaram do ffmpeg (http://ffmpeg.org/) com o ndk (http://developer.android.com/sdk/ndk/index.html), fizeram algumas interfaces JNI para usar em Java.
Para avaliar o sinal eles usam uma biblioteca de processamento de áudio http://www.surina.net/soundtouch/ compilada no mesmo esquema do ffmpeg com interfaces JNI.
Um exemplo do que eu fiz (que não é exatamente igual ao que eles fizeram): http://www.youtube.com/watch?v=U7SsDCpbYmY
Espero ter ajudado






0 comentários:
Postar um comentário