[英]How to stop the sound of my MediaPlayer when the app closes?
我有三個問題。
當我切換/關閉應用程序/活動時,如何停止MediaPlayer的聲音?
當我按下sound2時,如何使sound1停止?
如何停止並在一個按鈕上播放聲音? 我的意思是,當我按一次button1時,聲音開始,當我再次按他時,聲音停止,依此類推。
我已經嘗試過了,但是沒有用。
這是我的MainActivity:
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
Button button1;
Button button2;
boolean w;
boolean b;
private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button2= (Button) findViewById(R.id.button2);
w = true;
b = true;
//Button1
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(b == true){
mp= MediaPlayer.create(MainActivity.this, R.raw.song1);
mp.start();
b = false;
}else{
mp.stop();
b = true;
}
}
});
//Button 2
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(w == true){
mp= MediaPlayer.create(MainActivity.this, R.raw.sound2);
mp.start();
w = false;
}else{
mp.stop();
w = true;
}}
});
}
//Stopping the sound when switching or closing the App
@Override
public void onPause() {
mp.stop();
super.onPause();
}
}
你能告訴我如何解決我的問題嗎?
我是Android Studio的新手,對於我的英語不好,抱歉:)
答案似乎很簡單:保留對媒體播放器的引用。 就目前而言,您每次都創建一個新的MediaPlayer。 但是您還應該注意MediaPlayer的狀態,這很挑剔。
采取以下示例流程:
暫停時釋放()媒體播放器也很重要
首先請參閱本文https://developer.android.com/guide/topics/media/mediaplayer.html#mediaplayer
1。
public void onDestroy() {
if (mp!=null) {
mp.stop();
mp.release();
}
}
2。
//Stop media player
mp.stop();
// Set data source of sound 2
mp.setDataSource(url2);
mp.prepare();
mp.start();
3。
//Pause the sound
mp.pause();
//Resume the sound
mp.start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.