gpt4 book ai didi

当我第二次按下按钮播放音乐时 Android 挂起

转载 作者:行者123 更新时间:2023-11-29 15:41:51 25 4
gpt4 key购买 nike

我使用了这个 reference 中的这些代码.他们想点击按钮播放音乐,然后再次点击停止播放。 (在他们的评论中,他们说这对他们有用,但对我来说是悬而未决的)这是第一次工作。我的意思是第一次点击音乐正在播放。第二次点击音乐停止,但第三次点击手机模拟器显示此错误:

unfortunately your program has stopped.

这是我的代码:

public MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button) findViewById(R.id.btnRain);
//mp = MediaPlayer.create(this, R.raw.rain);
mp = MediaPlayer.create(MainActivity.this, R.raw.rain);
btn.setOnClickListener(new View.OnClickListener() {
@Override
//MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.soundFileName);
// mp.start();
public void onClick(View v) {

if (mp.isPlaying()) {
mp.stop();
mp.release();
}
else {

mp.start();
}
}
});
}

最佳答案

在 onCreate 中将 mp 初始化为:

mp = new MediaPlayer();

错误是你正在释放媒体播放器对象 mp,这会破坏对象,调用 reset 方法而不是 release。

if (mp.isPlaying()) 
{
mp.stop();
mp.reset();
}
else {
mp = MediaPlayer.create(LegalActivity.this, R.raw.free1);
mp.start();
}

关于当我第二次按下按钮播放音乐时 Android 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39100446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com