gpt4 book ai didi

java - 媒体播放器声音不重叠

转载 作者:行者123 更新时间:2023-12-01 19:57:48 25 4
gpt4 key购买 nike

当您单击该按钮时,它会将总和加 5 并发出声音。问题是,当您重复单击它时,它会增加 5,但声音不会重叠。

请参阅下面的代码:

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

final MediaPlayer plussound = MediaPlayer.create(basic_2.this, R.raw.plus);

Button plus5b = (Button)findViewById(R.id.button);
plus5b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
plussound.start();
for (int i = 1; i <= 5; i++) {
counterValue++;
}
counterdown.setText(String.valueOf(counterValue));
}
});
}

最佳答案

一个 MediaPlayer 一次只能播放一种声音,因此您需要为每种声音创建一个新的 MediaPlayer,因此在 onClick< 中创建它 方法。另请确保在播放声音后将其删除(使用 MediaPlayer.OnCompletionListener)以避免出现内存问题。

Button plus5b = (Button)findViewById(R.id.button);
plus5b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MediaPlayer mediaPlayer = MediaPlayer.create(basic_2.this, R.raw.plus);
// Adding an onCompletionListener to ensure the MediaPlayer releases the memory after playing
plussound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mediaPlayer.release();
mediaPlayer = null;
}
});
mediaPlayer.start();

for (int i = 1; i <= 5; i++) {
counterValue++;
}
counterdown.setText(String.valueOf(counterValue));
}
});

关于java - 媒体播放器声音不重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48934601/

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