Hi,
Ich bin sitze seit 5 min an einer Instand-button-app und direkt etwas was ich nicht verstehe. Ich möchte über einen Button (tut nichts zu Sache) alle Sounds die Gerade spielen stoppen. Mein Gedanke war alle erstellten Mediaplayer in ein Array und eine For loop laufen zu lassen um alle einzelnen enthaltenen Sounds zu stoppen. Im Endefeckt will ich nur das alle Sounds gestoppt und preapred werden die es gibt. (Es werden mehr als die zwei im Code unten)
meine for schleife:
Java
private void stop_prepare() {
for(int j=0; j< charactersDC.length; j++) {
Toast.makeText(getApplicationContext(), "stopping/preparing : " + charactersDC[j], Toast.LENGTH_SHORT).show();
charactersDC[j].stop();
charactersDC[j].prepare();
}
}
und der Fehler der von stop und prepare kommt:
Der Ganze Code aus der MainActivity.java Datei:
Java
package com.example.kaengurubutton;
import android.os.Bundle;
import android.media.MediaPlayer;
//import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
//import java.lang.reflect.Array;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
ListView lv;
String[] charactersDC={"meatboxing_like_rocky_balboa","please_put_the_beutel_on_the_band"};
final MediaPlayer meatboxing_like_rocky_balboa = MediaPlayer.create(this, R.raw.meatboxing_like_rocky_balboa);
final MediaPlayer please_put_the_beutel_on_the_band = MediaPlayer.create(this, R.raw.please_put_the_beutel_on_the_band);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
stop_prepare();
}
});
lv = (ListView) findViewById(R.id.idListView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,charactersDC);
lv.setAdapter(adapter);
//Setting onClickListener on ListView
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
switch (i){
case 0:
stop_prepare();
Toast.makeText(getApplicationContext(), "Playing: " + (String) Array.get(charactersDC, i), Toast.LENGTH_SHORT).show();
meatboxing_like_rocky_balboa.start();
break;
case 1:
stop_prepare();
Toast.makeText(getApplicationContext(), "Playing: " + (String) Array.get(charactersDC, i), Toast.LENGTH_SHORT).show();
please_put_the_beutel_on_the_band.start();
break;
default:
break;
}
}
});
}
private void stop_prepare() {
for(int j=0; j< charactersDC.length; j++) {
Toast.makeText(getApplicationContext(), "stopping/preparing : " + charactersDC[j], Toast.LENGTH_SHORT).show();
charactersDC[j].stop();
charactersDC[j].prepare();
}
}
}
Alles anzeigen