Heim  >  Artikel  >  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
PHPznach vorne
2024-02-12 14:06:05526Durchsuche

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();
    }

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);
...

Dann können Sie die Klickfunktion nutzen:

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen