[英]stop playing sound when another sound is playing in android studio
[英]Android Studio Stop Sound
這是我的第一個問題。 我希望我得到一個解決方案。 我編寫了一個音板應用程序,如果我點擊按鈕,我想要一個聲音播放。 我很容易做到。 下一點是,如果我單擊另一個按鈕,另一個聲音就會停止。 我希望你明白。 我用 .stop 或 .pause 嘗試了很多...
這就是我在此頁面上的 Java 代碼:
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
public class Fragment1 extends Fragment {
public void stop(){
}
Button btone1,btone2,btone3,btone4,btone5,btone6,btone7,btone8,btone9,btone10,btone11,btone12;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment1_layout,container, false);
btone1 = (Button) rootView.findViewById(R.id.btone1);
final MediaPlayer mpone1 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone1.start();
}
});
btone2 = (Button) rootView.findViewById(R.id.btone2);
final MediaPlayer mpone2 = MediaPlayer.create(getActivity(), R.raw.sone2);
btone2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone2.start();
}
});
btone3 = (Button) rootView.findViewById(R.id.btone3);
final MediaPlayer mpone3 = MediaPlayer.create(getActivity(), R.raw.sone2);
btone3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone3.start();
}
});
btone4 = (Button) rootView.findViewById(R.id.btone4);
final MediaPlayer mpone4 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone4.start();
}
});
btone5 = (Button) rootView.findViewById(R.id.btone5);
final MediaPlayer mpone5 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone5.start();
}
});
btone6 = (Button) rootView.findViewById(R.id.btone6);
final MediaPlayer mpone6 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone6.start();
}
});
btone7 = (Button) rootView.findViewById(R.id.btone7);
final MediaPlayer mpone7 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone7.start();
}
});
btone8 = (Button) rootView.findViewById(R.id.btone8);
final MediaPlayer mpone8 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone8.start();
}
});
btone9 = (Button) rootView.findViewById(R.id.btone9);
final MediaPlayer mpone9 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone9.start();
}
});
btone10 = (Button) rootView.findViewById(R.id.btone10);
final MediaPlayer mpone10 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone10.start();
}
});
btone11 = (Button) rootView.findViewById(R.id.btone11);
final MediaPlayer mpone11 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone11.start();
}
});
btone12 = (Button) rootView.findViewById(R.id.btone12);
final MediaPlayer mpone12 = MediaPlayer.create(getActivity(), R.raw.sone1);
btone12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mpone12.start();
}
});
////
return rootView;
}
}
使用單個 MediaPlayer 對象而不是創建多個對象
然后停止使用此代碼
private void stopPlaying() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.