2016-06-16 7 views
0

終了すると小さな試合をして音楽があります。今私は1つの音を持っていて3つまたは4つをランダムに演奏したいので、終了するたびに違う音楽を聞きます。 は私がゲームで勝ったときのランダムな音楽プレーヤー

public static final int SOUND_WINNER = 4; 
public static final int SOUND_LOSER = 5; 
public static final int SOUND_WINNER2 = 6; 
public static final int SOUND_WINNER3 = 7; 

と、ゲームアクティビティで

public static void initSounds(Context theContext) { 
    mContext = theContext; 
    mSoundPool = new SoundPool(10, AudioManager.STREAM_SYSTEM, 0); 
    mSoundPoolMap = new HashMap<Integer, Integer>(); 
    loopedSoundMap = new HashMap<Integer, Integer>(); 
    mAudioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);  

    addSound(SOUND_WINNER, R.raw.win); 
    addSound(SOUND_LOSER, R.raw.lose); 
    addSound(SOUND_WINNER2, R.raw.win2); 
    addSound(SOUND_WINNER2, R.raw.win3); 

SoundManager.javaは、私が何かアドバイスを事前に

private void win(){ 
    SoundManager.playLoopedSound(SoundManager.SOUND_WINNER); 

感謝を入れています。

私はこのような何かをしようとしているが、ノー成功

private void win(){ 
    Random random=new Random(); 
    int r = random.nextInt(4); 
    if(r==0){ 
    SoundManager.playLoopedSound(SoundManager.SOUND_WINNER); 
    } 
    if(r==1){ 
    SoundManager.playLoopedSound(SoundManager.SOUND_WINNER2); 
    } 

答えて

0

このメソッドは、作品とされたがplayRaw(_this, R.raw.fail)私を形成し、それはまた、あなたのために働く必要があります。

private static void playRaw(Context _this, int resource) { 
    PREFS = PreferenceManager.getDefaultSharedPreferences(_this); 
    if (PREFS.getBoolean("SOUND_IN_GAME", true) == false) { 
     return; 
    } 
    MediaPlayer mMediaPlayer = MediaPlayer.create(_this, resource); 
    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
    mMediaPlayer.setLooping(false); 
    mMediaPlayer.start(); 
} 

以下の行は、サウンドをオフ/オンにするための設定を行います。あなたはそれを削除することができます。あなたのケースでは

PREFS = PreferenceManager.getDefaultSharedPreferences(_this); 
if (PREFS.getBoolean(Global.soundInMatch, true) == false) { 
    return; 
} 

、あなたはまた、フラグ

mMediaPlayer.setLooping(true); 
をループをオンにすることができます
関連する問題