Autore Topic: stoppare una canzone  (Letto 831 volte)

Offline dragondevil

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus s
  • Sistema operativo:
    windows 7, mac osx 10.6
stoppare una canzone
« il: 06 Gennaio 2012, 17:48:32 CET »
0
salve ragazzi, la app che sto ultimando contiene un bottone che una volta premuto fa partire una canzone...
il mio unico problema (almeno per ora) è che l'audio parte, ma una volta usciti dal programma la canzone continua a funzionare...
come faccio a far capire al programma che una volta chiuso la canzone deve terminare anch'essa??
per ora quello che ho fatto riguardo il tasto in questione è questo:
Codice (Java): [Seleziona]
       
final Button mp3= (Button) findViewById (R.id.mp3);
final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.a);

mp3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
mp1.start();
}
});
« Ultima modifica: 06 Gennaio 2012, 17:50:15 CET da dragondevil »

Zate

  • Visitatore
Re:stoppare una canzone
« Risposta #1 il: 06 Gennaio 2012, 19:11:31 CET »
0
Nell'onPause stoppi la musica
Codice (Java): [Seleziona]
@Override
        protected void onPause() {
                // TODO Auto-generated method stub
                super.onPause();
                mp1.pause();
        }
Ti rimando a due pagine: la prima è sul ciclo delle activity, la seconda è un post del blog degli sviluppatori android, ti consiglio di darci un'occhiata ;)
Activities | Android Developers

Android Developers Blog: Making Android Games that Play Nice

Offline dragondevil

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus s
  • Sistema operativo:
    windows 7, mac osx 10.6
Re:stoppare una canzone
« Risposta #2 il: 07 Gennaio 2012, 14:35:12 CET »
0
Zate, però come hai fatto tu devo creare un altro bottone giusto??
a me serve stoppare la canzone senza premere alcun bottone in quanto essa deve stopparsi non appena l'applicazione stessa viene terminata!!

Zate

  • Visitatore
Re:stoppare una canzone
« Risposta #3 il: 07 Gennaio 2012, 15:20:57 CET »
0
No, onPause() è un metodo dell'activity che viene chiamato quando "un'altra activity viene portata di fronte" (dal sito degli sviluppatori). Per farti capire meglio: quando premi il pulsante home viene chiamato onPause() (e nel tuo caso si interromperebbe la musica). Viene chiamato onPause() anche quando inizi un'altra activity (che quindi viene portata di fronte) o il cellulare va nella sleep mode o quando compare un dialog.
« Ultima modifica: 07 Gennaio 2012, 15:23:47 CET da Zate »

Offline dragondevil

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus s
  • Sistema operativo:
    windows 7, mac osx 10.6
Re:stoppare una canzone
« Risposta #4 il: 07 Gennaio 2012, 16:28:04 CET »
0
ok, e il codice java che hai postato dove devo metterlo??
se lo metto fuori dall'oncreate mi crasha il programma, se invece lo metto dentro mi da errore...

Zate

  • Visitatore
R: stoppare una canzone
« Risposta #5 il: 08 Gennaio 2012, 00:48:54 CET »
0
Devi metterlo fuori dall'onCreate ma dentro l'activity. Prova a postare il logcat.

Offline dragondevil

  • Nuovo arrivato
  • *
  • Post: 21
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus s
  • Sistema operativo:
    windows 7, mac osx 10.6
Re:stoppare una canzone
« Risposta #6 il: 13 Gennaio 2012, 11:46:43 CET »
0
scusa, se non ho potuto rispondere prima, ma stavo fuori per lavoro, comunque, questo è il logcat che compare se metto il codice java fuori dall'oncreate

01-13 10:43:57.924: D/AndroidRuntime(417): Shutting down VM
01-13 10:43:57.924: W/dalvikvm(417): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
01-13 10:43:57.924: E/AndroidRuntime(417): Uncaught handler: thread main exiting due to uncaught exception
01-13 10:43:57.985: E/AndroidRuntime(417): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{programmazione.android/programmazione.android.ProgrammazioneandroidActivity}: java.lang.NullPointerException
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.ActivityThread.access$2200(ActivityThread.java:119)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.os.Looper.loop(Looper.java:123)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.ActivityThread.main(ActivityThread.java:4363)
01-13 10:43:57.985: E/AndroidRuntime(417):    at java.lang.reflect.Method.invokeNative(Native Method)
01-13 10:43:57.985: E/AndroidRuntime(417):    at java.lang.reflect.Method.invoke(Method.java:521)
01-13 10:43:57.985: E/AndroidRuntime(417):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
01-13 10:43:57.985: E/AndroidRuntime(417):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
01-13 10:43:57.985: E/AndroidRuntime(417):    at dalvik.system.NativeStart.main(Native Method)
01-13 10:43:57.985: E/AndroidRuntime(417): Caused by: java.lang.NullPointerException
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.Activity.findViewById(Activity.java:1612)
01-13 10:43:57.985: E/AndroidRuntime(417):    at programmazione.android.ProgrammazioneandroidActivity.<init>(ProgrammazioneandroidActivity.java:150)
01-13 10:43:57.985: E/AndroidRuntime(417):    at java.lang.Class.newInstanceImpl(Native Method)
01-13 10:43:57.985: E/AndroidRuntime(417):    at java.lang.Class.newInstance(Class.java:1479)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-13 10:43:57.985: E/AndroidRuntime(417):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
01-13 10:43:57.985: E/AndroidRuntime(417):    ... 11 more
01-13 10:43:58.055: I/dalvikvm(417): threadid=7: reacting to signal 3
01-13 10:43:58.065: I/dalvikvm(417): Wrote stack trace to '/data/anr/traces.txt'

se invece fuori dall'oncreate non metto niente il programam funge, mentre così non parte affatto in quanto crasha all'avvio!!