Any suggestion?

On May 20, 3:17 pm, quill <[email protected]> wrote:
> Hi all,
>
> I have a thread to play audio and animation together. It's a frame
> animation. The drawable resources are in sdcard. When I play the
> animation, I use a handler to send message to refresh images one by
> one.
> Here's my code:
> final Handler handle = new Handler(){
>      public void handleMessage(Message msg){
>           super.handleMessage(msg);
>           BitmapDrawable bmpDraw = new BitmapDrawable("sdcard/
> anim/"+msg.obj);
>           imageView.setBackgroundDrawable(bmpDraw);
>           imageView.invalidate();
>           if(msg.what < fileNames.length-1){
>               sendMessageDelayed(obtainMessage((msg.what+1),
> fileNames[msg.what+1]),50);
>          }
>      }};
>
> handler.sendMessage(handler.obtainMessage(0,fileNames[0]);
> MediaPlayer mp = new MediaPlayer();
> ...//play audio
>
> The animation performs fine, but the audio will be stopped when it
> begins to play for seconds. From logcat I see AudioFlinger: write
> blocked for 89 msec...
>
> I don't use AnimationDrawable because there are many images in sdcard,
> when I use addFrame(AnimationDrawable.createFromPath(...)) I got an
> OutOfMemory Exception.
>
> Am I doing the right thing? Can anyone help me?

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to