如何在Android中播放音效

Thr*_*eaT 19 audio android

我正在寻找一个非常简单的代码来发挥音效.到目前为止,我有这个代码:

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)