Heim > Java > So stoppen Sie den Ton, wenn ein anderer Ton startet (viel Ton)

So stoppen Sie den Ton, wenn ein anderer Ton startet (viel Ton)

PHPz
Freigeben: 2024-02-12 14:06:05
nach vorne
656 Leute haben es durchsucht

Frageninhalt

Ich habe 30-31 Schaltflächen und möchte, dass sie einzeln abgespielt werden. Wenn ich also auf eine Schaltfläche klicke, wird sie abgespielt. Wenn ich dann auf eine andere Schaltfläche klicke, wird sie abgespielt, egal welche Schaltfläche es ist. Stopp, hier ist Das Codebeispiel macht das im Grunde und wiederholt es, aber nur die Zahlen ändern sich, also 1,2,3,4 usw.:

public void Button1Text(View view) {
        Media1 = MediaPlayer.create(QuranJ30MA.this, R.raw.hannaba);
        Media1.start();
    }

    public void Button1Text2(View view) {
        Button1p = MediaPlayer.create(QuranJ30MA.this, R.raw.mannaba);
        Button1p.start();
    }
Nach dem Login kopieren

Ich habe versucht herauszufinden, ob andere Leute das Gleiche versuchen, aber da ich nicht sehr gut mit Java bin, verstehe ich nicht, wie ich es auf meinen Computer anwenden kann. Wenn es nicht zu viel verlangt ist, wollte ich es einfach tun Erklären Sie es. Erfahren Sie, wie es funktioniert, danke :)

Workaround

Sie sollten niemals mehrere Mediaplayer erstellen, es handelt sich um schwere Objekte, die viele Ressourcen beanspruchen. Erstellen Sie stattdessen einen Mediaplayer und verwenden Sie setdatasource, um den Ton zu ändern, den seine Einstellungen abspielen (natürlich müssen Sie zuerst den Originalton stoppen).

Die nächste Änderung ist die Datenerstellung. Erstellen Sie eine Zuordnung von IDs zu Sounds:

map<int, int> sounds = new hashmap();
sounds.put(button1id, r.raw.hannaba);
sounds.put(button2id, r.raw.mannaba);
...
Nach dem Login kopieren

Dann können Sie die Klickfunktion nutzen:

public void buttonClick(View view) {
   mediaPlayer.stop()
   mediaPlayer.setDataSource(sounds.get(view.getId())
   mediaPlayer.start()
}
Nach dem Login kopieren

Legen Sie es als Onclicklistener für alle Schaltflächen fest, die Sie ausführen möchten, und müssen Sie es nur einmal schreiben.

Das obige ist der detaillierte Inhalt vonSo stoppen Sie den Ton, wenn ein anderer Ton startet (viel Ton). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage