effizienteste Möglichkeit, einen Sound zu spielen, wenn auf die Schaltfläche geklickt wird

8

Im Moment habe ich zwei Knöpfe. Jeder muss einen anderen Klang erzeugen. In der Zukunft wird es wahrscheinlich ungefähr 8 Knöpfe geben, aber im Moment nur zwei.

%Vor%

Ursprünglich hatte ich mp.release () nicht und es würde den Sound richtig wiedergeben, aber schließlich würde die App abstürzen, weil der Speicher knapp wurde. Jetzt mit dem mp.release () stürzt es nicht ab, aber manchmal spielt es den Ton nicht, wenn er geklickt wird.

Ist das die effektivste Art, einen Sound zu spielen, wenn man auf die Schaltfläche klickt? Ist es erweiterbar?

    
Bromide 08.07.2010, 13:12
quelle

2 Antworten

5

Ich denke, das liegt daran, dass du es loslässt, während es spielt. Erstelle einen globalen MediaPlayer für jeden Sound und benutze ihn immer wieder, lasse ihn los, wenn die Aktivität geschlossen ist (vielleicht sogar wenn er pausiert ist, und lade ihn erneut, wenn die Sounddateien groß sind). Da Sie viele Schaltflächen haben, könnten Sie auch einen onclicklistener auf allen Schaltflächen haben, die Sie bei onCreate () instanziieren:

%Vor%

kommentieren Sie einfach und sagen Sie mir, wenn Sie nicht sicher sind, wie Sie dies umsetzen:)

edit: Pro Anfrage, hier ist eine nette Implementierung, die mit Ihrer App Wunder wirken sollte. Ich habe es so gemacht, dass die Aktivität onclicklistener implementiert, ich denke, es ist ein bisschen sauberer.

%Vor%     
pgsandstrom 08.07.2010, 13:26
quelle
3

Wenn Ihre App mehr Schaltflächen hat, sollten Sie SoundPool anstelle von MediaPlayer verwenden. Da der MediaPlayer die App aus dem Speicher ruiniert, kann er keinen Ton mehr abspielen.

Das ist mir geholfen! und ich denke du wirst es auch Sound mit SoundPool abspielen

    
Le Quoc Bao 23.06.2012 15:08
quelle

Tags und Links