2015-01-08 5 views
0

나는 android game app을 개발했습니다. 사용자가 게임을 할 때 배경 음악을 재생하고 사용자가 음악을 사용 중지 할 때 해당 음악을 사용 중지 할 수 있습니다. 게임 활동에 어떻게 할 수 있는지 알려주세요.Android에서 오디오를 재생하는 방법

감사

답변

0

이 기술은

private SoundBroadCastReceiver soundBroadCast; 
private void registerBroadCast() { 
    soundBroadCast = new SoundBroadCastReceiver(); 
    IntentFilter intentfilter = new IntentFilter(); 
    intentfilter.addAction("android.intent.action.USER_PRESENT"); 
    registerReceiver(soundBroadCast, intentfilter); 
} 

    private class SoundBroadCastReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     startMusic(); 
    } 
} 

MediaPlayer mediaPlayer = new MediaPlayer(); 
private void startMusic() { 
    if (mediaPlayer != null) { 
     mediaPlayer = null; 
    } 
    mediaPlayer = MediaPlayer.create(this, R.raw.main_screen); 
    mediaPlayer.setLooping(true); 
    if (!mediaPlayer.isPlaying()) { 

      mediaPlayer.start(); 


    } 
} 

private void stopMusic() { 
    if (mediaPlayer != null && mediaPlayer.isPlaying()) { 
     mediaPlayer.stop(); 
     mediaPlayer.release(); 
     mediaPlayer = null; 
    } 
} 







@Override 
protected void onResume() { 

    if (!((KeyguardManager) getSystemService("keyguard")) 
      .inKeyguardRestrictedInputMode()) { 
     startMusic(); 
    } 

    registerBroadCast(); 
    super.onResume(); 

} 

@Override 
protected void onPause() { 
    unregisterReceiver(soundBroadCast); 
    stopMusic(); 
    System.gc(); 
    super.onPause(); 


} 
0

당신은 mMusicButtonOn처럼, 부울 변수를 사용하여 초기에는 더 false로 설정하고, 게임 시작 방법과에 있습니다 .. 사용하고 배경 사운드를 재생 음악 사용 중지 확인란은 다음과 같습니다.

if(!mMusicButtonOn){ 

    //do Music On 
    mMusicButtonOn=true; 
    mMainGameScene.playMusic(MusicFileNames.MAIN_MENU_SOUND); 

} 
else { 
    //do Music Off 
    mMusicButtonOn=false; 
    mMainGameScene.pauseAllMusic(); 
    } 
관련 문제