Mediaplayer - Stopp

  • Antworten:12
  • Bentwortet
Gabriel
  • Forum-Beiträge: 8

08.08.2016, 20:16:25 via Website

Hallo, ich habe eine android App "geschrieben".
Es werden immer wieder neue MediaPlayer Sessions kreiert.

Nun möchte ich ein Button hinzufügen, der prüft ob eine MediaPlayer Session läuft alles beendet. Eine Art Stop - Button.

ist dieses recht einfach möglich?
leider bin ich ein Programmierungsfrischling. Evtl. ist es auch sehr einfach.

Wäre schön wenn mir jemand helfen könnte.
Gabriel

— geändert am 08.08.2016, 20:18:12

Antworten
Gabriel
  • Forum-Beiträge: 8

08.08.2016, 20:37:31 via Website

Danke für die schnelle Antwort.

Leider fehlt mir die Idee wie ich den Code zusammenbasteln kann.

es sind etwa 20 einzel kreierte MediaPlayer
Man kann auch nicht sagen, wann welcher "Soundbutton" geklickt wurde.

Wenn auf den Button geklickt wird, soll geprüft werden, ob der MediaPlayer aktiv ist (evtl. auch möglich das derzeit 3 oder 4 MediaPlayer Sessions laufen) und diese beenden.

— geändert am 08.08.2016, 20:38:27

Antworten
swa00
  • Forum-Beiträge: 3.704

08.08.2016, 20:40:53 via Website

Hallo Gabriel ,

ich fange mal vorne an zu Fragen ...

Wieviel Erfahrung bringst du wirklich in App Progammierung mit ??
Hast du schon deine ersten Apps zum laufen gebracht ?

Was magst du denn genau machen ?

20 MediaInstanzen hören sich recht abenteuerlich an

— geändert am 08.08.2016, 20:44:19

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Gabriel
  • Forum-Beiträge: 8

08.08.2016, 20:45:02 via Website

Eine App, die läuft.
wahrscheinlich auch sehr unsauber programmiert.

Es sit eine App für ein Theater. Hier laufen die "Schauspieler" mit einem Tablett über die Bühne und drücken immer wieder buttons. Manche laufen länger, manche nicht.

mit dem Drücken der Stopp Taste soll kein ton mehr folgen.

— geändert am 08.08.2016, 20:52:13

Antworten
swa00
  • Forum-Beiträge: 3.704

08.08.2016, 20:46:07 via Website

Gabriel, nimms mir nicht übel , vielleicht stehe ich ja total auf dem Schlauch ...

Wenn ich es richtig verstanden habe :

Es soll eine App mit Knöpfen werden , und hinter jedem Knopf befindet sich ein anderes AudioFile welches gestartet wird und wenn man die Knöpfe wieder drückt , wird der jeweilige Track beeendet ?

Aber alle Tracks können parallel gestartet und gestoppt werden

  • Richtig ???

— geändert am 08.08.2016, 20:57:32

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Gabriel
  • Forum-Beiträge: 8

08.08.2016, 21:09:37 via Website

leider kann ich den sourcecode nicht einkopieren.

Es ist eine App, auf der verschiedene Button integriert sind.

jeder button wird in etwa so aufgerufen:
final MediaPlayer jaegerMP = MediaPlayer.create(this, R.raw.aufzumfroehlichenjagen);
Button jaeger = (Button) this.findViewById(R.id.jaeger);
jaeger.setOnClickListener((new View.OnClickListener() {
@Override
public void onClick(View v) {
jaegerMP.start();
}
}));

Manche Title hinter den Button gehen 2-3 minuten.
diese sollen mithilfe des Stop buttons abgebrochen werden

Antworten
Gabriel
  • Forum-Beiträge: 8

08.08.2016, 21:11:35 via Website

so in etwa.
es wird gestartet. und läuft durch
und eben ggf. wird es über den stopp button abgebrochen

— geändert am 08.08.2016, 21:12:25

Antworten
swa00
  • Forum-Beiträge: 3.704

08.08.2016, 21:21:27 via Website

Hallo Gabriel,

so langsam kommt Licht ins Dunkle.

Nun , gehen wir mal davon aus , dass du mit dem gleichen Button starten und stoppen möchtest, dann
kannst du folgendermassen vorgehen :

Boolean MeinTrackLaeuft = false;

MediaPlayer jaegerMP = MediaPlayer.create(this, R.raw.aufzumfroehlichenjagen);
Button jaeger = (Button) this.findViewById(R.id.jaeger);

jaeger.setOnClickListener((new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (MeinTrackLaeuft == false)
{
jaegerMP.start();
MeinTrackLaeuft = true;
}
else
{
jaegerMP.stop();
MeinTrackLaeuft = false;
}
}
}));

— geändert am 08.08.2016, 21:24:37

Liebe Grüße - Stefan
[ App - Entwicklung ]

Antworten
Gabriel
  • Forum-Beiträge: 8

08.08.2016, 21:30:28 via Website

Okay danke, ich probiere es mal

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

08.08.2016, 21:31:22 via App

Jupp so kann man das machen und wenn du eine Button für alle willst, dann packst du alle MediaPlayer objekte in eine ArrayList und Iteriert durch und machst bei jeder Iteration den stop befehl.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gabriel
  • Forum-Beiträge: 8

09.08.2016, 06:47:47 via Website

In der If Schleife moniert das Android Studio die Variable "MeinTrackLaeuft"
"Cannot assign a value to final Variable 'MeinTrackLaeuft' "

Muss die Variable noch irgendwo anders deklariert werden?

— geändert am 09.08.2016, 06:48:27

Antworten
Gabriel
  • Forum-Beiträge: 8

09.08.2016, 06:56:43 via Website

Problem erledigt.

Antworten