一段时间后,我的Android应用程序停止在按钮上播放声音

时间:2018-01-31 04:30:27

标签: java android android-studio android-activity

你好,我刚刚创建了一个基本的Android应用程序,它在按钮上播放不同的音乐.. 该应用程序在前几秒钟工作正常但是当我继续点击和点击时,它在某些时候停止播放音乐并且刚刚崩溃...... 我无法弄清楚问题是什么..请帮助我让它工作.. 谢谢。 这是我的代码: -

 public class MainActivity extends AppCompatActivity {

MediaPlayer mediaPlayer;

public void PlayMusic(View view)
{
int ID = view.getId();
String NameID = view.getResources().getResourceEntryName(ID);
int sound= getResources().getIdentifier(NameID,"raw","com.example.pickachu.mypatatap");
mediaPlayer = MediaPlayer.create(this,sound);
mediaPlayer.start();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

2 个答案:

答案 0 :(得分:0)

传递uri而不是字符串

mediaPlayer= MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/Music/music.mp3"));
mediaPlayer.setLooping(true);
        mpintro.start();

答案 1 :(得分:0)

多次点击后声音无法播放,因为您必须获得IllegalStateException,因为当您点击多次时,releasing the Mediaplayer object并且Mediaplayer Lifecycles无法正常管理。

完成声音后,您可以使用setOnCompletionListener(MediaPlayer.OnCompletionListener listener)释放mediaPlayer

mediaPlayer = MediaPlayer.create(this,sound);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                mp.reset();
                mp.release();
                mediaplayer = null;
            }
        });
mediaPlayer.start();