Android Studio Soundboard 按钮在切换后不会播放声音 activity 我只能按 7 次它们才会停止
Android Studio Soundboard buttons won't play sound after switching activity i can press them only like 7 times before they stop
在 Android 工作室中,我制作了 Soundboard,其中我在第一个 activity 时有 4 个活动 activity 我可以整天按下声音,它们会播放,但在我点击下一步 [=] =22=] 当我尝试播放它们时,它们不会播放声音。我可以点击 7 次,它们就会停止。
我到处都看,但没有任何效果我什至再次更改了整个代码仍然发生同样的事情。
按钮按钮1;
需要按钮宇宙,使用石头等等更多声音....
iaminevitable = (Button) findViewById(R.id.iaminevitable);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.iaminevitable);
iaminevitable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp.start();
}
});
iusedthestones = (Button) findViewById(R.id.iusedthestones);
final MediaPlayer mp2 = MediaPlayer.create(this,
R.raw.iusedthestones);
iusedthestones.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp2.start();
}
}); etc....
button1 = findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent int1 = new Intent(MainActivity.this, Activity2.class);
startActivity(int1);
}
});
错误消息中没有说明为什么会这样
首先:在 onCreate 之外声明你的 MP,以防止它在 activity 暂停时被垃圾收集
private MediaPlayer mp,mp2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mp = new MediaPlayer.create(...
mp2 = new MediaPlayer.create(...
此外:在 activity 停止时丢弃 MP 使用的资源,以避免内存泄漏,这可能会迫使您的应用程序在连续使用时崩溃。
@Override
protected void onStop() {
super.onStop();
if (mp != null) {
mp.reset();
mp.release();
mp = null;
}
if (mp2 != null) {
mp2.reset();
mp2.release();
mp2 = null;
}
}
在 Android 工作室中,我制作了 Soundboard,其中我在第一个 activity 时有 4 个活动 activity 我可以整天按下声音,它们会播放,但在我点击下一步 [=] =22=] 当我尝试播放它们时,它们不会播放声音。我可以点击 7 次,它们就会停止。
我到处都看,但没有任何效果我什至再次更改了整个代码仍然发生同样的事情。
按钮按钮1; 需要按钮宇宙,使用石头等等更多声音....
iaminevitable = (Button) findViewById(R.id.iaminevitable);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.iaminevitable);
iaminevitable.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp.start();
}
});
iusedthestones = (Button) findViewById(R.id.iusedthestones);
final MediaPlayer mp2 = MediaPlayer.create(this,
R.raw.iusedthestones);
iusedthestones.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mp2.start();
}
}); etc....
button1 = findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent int1 = new Intent(MainActivity.this, Activity2.class);
startActivity(int1);
}
});
错误消息中没有说明为什么会这样
首先:在 onCreate 之外声明你的 MP,以防止它在 activity 暂停时被垃圾收集
private MediaPlayer mp,mp2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mp = new MediaPlayer.create(...
mp2 = new MediaPlayer.create(...
此外:在 activity 停止时丢弃 MP 使用的资源,以避免内存泄漏,这可能会迫使您的应用程序在连续使用时崩溃。
@Override
protected void onStop() {
super.onStop();
if (mp != null) {
mp.reset();
mp.release();
mp = null;
}
if (mp2 != null) {
mp2.reset();
mp2.release();
mp2 = null;
}
}