我想在游戏中单击按钮时播放声音。我可以使用以下代码轻松做到这一点
mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.start();
问题是,我的点击率比播放我的声音剪辑的持续时间要快。如何停止它并在第二次或第三次单击时再次播放等等。
我想匹配声音播放以匹配我的点击率。
感谢 Abhinav Tyagi
我想在游戏中单击按钮时播放声音。我可以使用以下代码轻松做到这一点
mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.start();
问题是,我的点击率比播放我的声音剪辑的持续时间要快。如何停止它并在第二次或第三次单击时再次播放等等。
我想匹配声音播放以匹配我的点击率。
感谢 Abhinav Tyagi
首先,您应该MediaPlayer
只用于大文件,如音乐。对于播放音效,SoundPool
是要走的路。
此处提供了有关播放媒体的出色教程。
单击您的按钮,立即按顺序调用soundPool.stop()
和soundPool.play()
以停止和开始您的音频播放。
您可以调用 MediaPlayer.Stop 停止它播放声音。您还可以调用 MediaPlayer.Reset 将其返回到空闲状态。
public class MainActivity extends AppCompatActivity {
MediaPlayer mplayer;
public void startPlay(View view) {
mplayer.start();
}
public void stopPlay(View view) {
mplayer.pause();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mplayer = MediaPlayer.create(this, R.raw.laugh);
}
}