Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 20/09/12, 16:31:15
Avatar de goltara
goltara goltara no está en línea
Usuario novato en la web
Mensajes: 29
Compra y venta: (1)
 
Fecha de registro: ene 2011
Mensajes: 29
Modelo de smartphone: samsung galaxy s
Tu operador: Pepephone
Mencionado: 0 comentarios
Tagged: 0 hilos
Musica de Fondo

Hola buenas tardes,

Me gustaría consultar cual la mejor manera de poner musica de fondo, es decir un tema de musica que corra de manera fluida a lo largo de la vida de toda la aplicación, he probado varios metodos pero ninguno consigue lo que quiero, el método que más me ha gustado ha sido el de usar un Service, pero ocurria una cosa y es que al apagar la aplicacion con el boton central, la música seguia escuchandose y no se como pararlo en ese caso.

El codigo es el siguiente:

Código:
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;

public class MusicaDeFondo extends Service{
    
    public MediaPlayer mp;

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
    
        mp = MediaPlayer.create(this, R.raw.theme_cj);
        mp.setLooping(true);
        
    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub

        super.onDestroy();
        mp.stop();
    }

    @Override
    public void onStart(Intent intent, int startId) {
        // TODO Auto-generated method stub
        super.onStart(intent, startId);
        mp.start();
        
    }
    
    

}
despues sólo tengo que llamar en cada clase a:

startService(new Intent(this, MusicaDeFondo.class));

si quiero reproducir el sonido

y a:

stopService(new Intent(this, MusicaDeFondo.class));

si quiero parar el sonido.


El problema como he dicho antes es que al pulsar el boton de HOME no puedo parar el sonido, he probado en poner un onKeyUp() pero he leido que el boton de HOME no se puede "escuchar".

Espero que me podais decir algo, gracias!!!!
Responder Con Cita


  #2  
Viejo 21/09/12, 02:29:11
Avatar de Celtium
Celtium Celtium no está en línea
Miembro del foro
Mensajes: 432
 
Fecha de registro: may 2010
Mensajes: 432
Modelo de smartphone: Nexus One, 4
Mencionado: 0 comentarios
Tagged: 0 hilos
Hola

Esto no solo te pasa cuando le das al home, también te pasará al iniciar algún recurso del sistema como abrir un vídeo o mandar un correo, etc...

Yo lo controlo con un método global. Cada activity notifica a ese método el momento en que se abre, se cierra y la activity que va abrir. Según el estado el método para o inicia la música no la activity en particular.

Suerte ;)
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 10:24:58 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007