简体   繁体   English

如何在Android上播放音频

[英]How to play Audio on Android

I developed and android game app. 我开发了Android游戏应用。 I want to play music on background when user play games and user could disable that music on disable music check box. 当用户玩游戏时,我想在背景上播放音乐,并且用户可以在“禁用音乐”上禁用该音乐复选框。 Can you please give me any idea how could i do that on play Game Activity. 您能给我任何想法吗,我该如何在游戏活动中做到这一点。

Regards 问候

this technique is use and play the background sound.. 这种技术是使用和播放背景声音。

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();


}

You can use a boolean variable,like mMusicButtonOn and initally set to false ,and in your game start method and on the disable music checkbox something like this 您可以使用布尔变量(例如mMusicButtonOn并将其初始设置为false ,并且可以在游戏开始方法以及禁用音乐复选框中使用类似以下的方式

if( !mMusicButtonOn ){

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM