Tengo imágenes almacenadas en la tarjeta SD y usando esas imágenes deseo ejecutar una animación. Estoy usando el siguiente código para esto, pero mi animación no funciona en absoluto.Cómo cargar imágenes desde la tarjeta SD y ejecutar la animación usando AnimationDrawable o AnimationUtils en Android
Fragmento de código
playAnimation("xxx", medid, 25);//calling method
break;
public void playAnimation(String string, int medid2, int length) {
// TODO Auto-generated method stub
animation = new AnimationDrawable();
Bitmap bitMap;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; //reduce quality
player = MediaPlayer.create(this.getApplicationContext(), medid2);
try {
for (int i = 0; i <= length; i++) {
System.out.println("File Name : - " + Environment.getExternalStorageDirectory().toString() + "/" + string + i);
bitMap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().toString() + "/" + string + i);
Drawable bmp = new BitmapDrawable(bitMap);
animation.addFrame(bmp, DURATION);
}
animation.setOneShot(true);
animation.setVisible(true, true);
int frames = animation.getNumberOfFrames();
System.out.println("Number of Frames are - " + frames);
img.setBackgroundDrawable(animation);
img.post(new Starter());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
class Starter implements Runnable {
public void run() {
try {
if(animation.isRunning()) {
animation.stop();
animation.start();
if (player.isPlaying()) {
player.stop();
player.start();
}
else {
player.start();
}
} else {
animation.start();
if (player.isPlaying()) {
player.stop();
player.start();
}
else {
player.start();
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
Usando concepto de animación fotograma se necesita para ejecutar mi animación. Puedo buscar imágenes, ya que he realizado algunas depuraciones, pero cuando hago clic en el botón y se llaman estos métodos, mi pantalla no muestra ninguna animación. Solo muestra una pantalla negra. No estoy obteniendo ningún error en esto. Si alguien tiene una idea, por favor hágamelo saber.
Gracias
Por favor, si alguien tiene alguna idea o sugerencia amable ayuda ... – Scorpion