我正在寻找一个非常简单的代码来发挥音效.到目前为止,我有这个代码:
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);
}
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,当我使用该playSound()方法时,没有任何反应.音频文件位于正确的位置.
Sam*_*low 59
您使用的具体原因是SoundManager什么?我会MediaPlayer改用,这里是Android Docs的链接
http://developer.android.com/reference/android/media/MediaPlayer.html
那就简单了
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.combo);
mp.start();
Run Code Online (Sandbox Code Playgroud)
在"res /"目录下创建一个名为"raw /"的目录.将wav或mp3文件拖到raw /目录中.如上所述从任何地方播放它们.
小智 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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43293 次 |
| 最近记录: |