2016-06-30 17 views
0

Ich habe viel mit meinem Code unten versucht. Es gibt überhaupt keinen Kompilierungsfehler. als ich die MP3-Datei, die ich hinzugefügt habe, gestartet habe, erscheint im logcat-Fenster "start called in state 0". Bitte hilf mir mit diesem Code. Vielen Dank im Voraus. Ich möchte auch wissen, wenn wir den Ton pausieren, ich brauche den Song Lebenslauf von dort, wenn ich auf den Start-Button klicken (oder) Gibt es eine Wiederaufnahme-Funktion für sie, lassen Sie es mich in den Kommentaren. Danke im Voraus. Hier ist mein Java-CodeWie mp3 hinzufügen und in einer Anwendung abgespielt werden?

import android.app.Activity; 
 
import android.media.MediaPlayer; 
 
import android.os.Bundle; 
 
import android.view.View; 
 
import android.widget.Button; 
 

 

 
public class MainActivity extends Activity { 
 

 
\t private MediaPlayer mp; 
 
\t 
 

 
\t @Override 
 
\t protected void onCreate(Bundle savedInstanceState) { 
 
\t \t super.onCreate(savedInstanceState); 
 
\t \t setContentView(R.layout.activity_main); 
 
\t \t Button mButton = (Button) findViewById(R.id.btnStart); 
 
\t \t Button mButton1 = (Button) findViewById(R.id.btnStop); 
 
\t \t Button mButton2 = (Button) findViewById(R.id.btnPause); 
 

 
\t \t mp = new MediaPlayer(); 
 

 
\t \t mButton.setOnClickListener(new View.OnClickListener() { 
 

 
\t \t \t @Override 
 
\t \t \t public void onClick(View v) { 
 
\t \t \t \t 
 
\t \t \t \t mp.start(); 
 
\t \t \t } 
 
\t \t }); 
 
\t \t mButton1.setOnClickListener(new View.OnClickListener() { 
 

 
\t \t \t @Override 
 
\t \t \t public void onClick(View v) { 
 
\t \t \t \t 
 
\t \t \t \t mp.stop(); 
 

 
\t \t \t } 
 
\t \t }); 
 
\t \t mButton2.setOnClickListener(new View.OnClickListener() { 
 

 
\t \t \t @Override 
 
\t \t \t public void onClick(View v) { 
 
\t \t \t \t MediaPlayer.create(MainActivity.this, R.raw.ch); 
 
\t \t \t \t mp.pause(); 
 

 
\t \t \t } 
 
\t \t });

Antwort

0

eine Klasse erstellen Audioclip namens

public class AudioClip { 
    public static boolean loop = false; 
    public static MediaPlayer mediaPlayer; 
    private static SoundPool soundPool; 
    public static boolean isplayingAudio = false; 
    public static void playAudio(Context c, int id) { 
     mediaPlayer = MediaPlayer.create(c, id); 
     soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100); 
     if (!mediaPlayer.isPlaying()) { 
      isplayingAudio = true; 
      mediaPlayer.start(); 
      mediaPlayer.setLooping(loop); 
     } 
    } 
    public static void stopAudio() { 
     isplayingAudio = false; 
     mediaPlayer.stop(); 
    } 
} 

auf andere Aktivität, Musik zu spielen

Context m = CuteActivity.this; 
AudioClip.playAudio(m, R.raw.ch);\ 

und zu stoppen

  if (AudioClip.isplayingAudio) { 
        AudioClip.stopAudio(); 
       }