2016-04-20 11 views
0

Ich habe ein Programm, das jedes Mal einen Ton abspielt, wenn der Benutzer eine Aktion ausführt. Aber nach einiger Zeit funktioniert kein Audio mehr.Warum hört Audio in der App auf?

Beispielcode:

public void bPressed(View view) { 
    MediaPlayer mp = MediaPlayer.create(activity.this, R.raw.audio); 
    mp.start(); 
} 

Antwort

1

Sie müssen mp.release(); verwenden Wenn Sie mit Mediaplayer fertig sind:

Als Beispiel die Probleme berücksichtigen, wenn Sie den Mediaplayer zu veröffentlichen passieren könnte vergessen haben, wenn Ihre Aktivität wird gestoppt, aber erstellen Sie eine neue, wenn die Aktivität erneut gestartet wird. Wie Sie vielleicht wissen, wenn der Benutzer die Bildschirmausrichtung ändert (oder die Gerätekonfiguration auf andere Weise ändert), behandelt das System dies durch einen Neustart der Aktivität (standardmäßig), sodass Sie schnell alle Systemressourcen verbrauchen können, wenn der Benutzer rotiert Das Gerät wechselt zwischen Hoch- und Querformat hin und her, da Sie bei jeder Änderung der Ausrichtung einen neuen MediaPlayer erstellen, den Sie nie freigeben. (Weitere Informationen zur Laufzeit neu gestartet wird, siehe Laufzeitänderungen Handhabung.)

http://developer.android.com/intl/es/guide/topics/media/mediaplayer.html

mp.release(); in Ihrem onStop()

+0

beispielsweise hinzufügen, wenn diese Ihnen hilft, bitte .. akzeptiert die Antwort –

+0

Nein, das tut Das Problem wird nicht gelöst, die Geräusche hören einfach auf, wenn die App läuft und ich erlaube nur den Hochformat-Modus. –

Verwandte Themen