我正在寻找一个非常简单的代码来播放声音效果。到目前为止,我有这段代码:
SoundManager snd;
int combo;
private void soundSetup() {
// Create an instance of the sound manger
snd = new SoundManager(getApplicationContext());
// Set volume rocker mode to media volume
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);
// Load the samples from res/raw
combo = snd.load(R.raw.combo);
}
private void playSound() {
soundSetup();
snd.play(combo);
}
但是,由于某种原因,当我使用playSound()
方法时,没有任何反应。音频文件位于正确的位置。
答案 0 :(得分:56)
您使用SoundManager
的具体原因是什么?我会使用MediaPlayer
代替,这里是指向Android文档的链接
http://developer.android.com/reference/android/media/MediaPlayer.html
然后它就像
一样简单 MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.combo);
mp.start();
在“res /”目录下创建一个名为“raw /”的目录。将wav或mp3文件拖到raw /目录中。从上面的任何地方播放它们。
答案 1 :(得分:6)
我还尝试使用最佳答案,但当我尝试连续多次播放声音时,它从MediaPlayer产生了NullPointerExceptions,所以我稍微扩展了代码。
FXPlayer是我的全球MediaPlayer。
public void playSound(int _id)
{
if(FXPlayer != null)
{
FXPlayer.stop();
FXPlayer.release();
}
FXPlayer = MediaPlayer.create(this, _id);
if(FXPlayer != null)
FXPlayer.start();
}