当前位置:编程学习 > JAVA >>

AndEngine播放音乐和音效

缺少背景音乐和音效的游戏是不完整的。
 
首先定义两个变量,一个用来播放背景音乐,一个用来播放音效
 
[java] 
private Music mMusic;  
private Sound mSound;  
AndEngine中播放声音需要在onCreateEngineOptions()方法里先进行声明
 
[java]  
final EngineOptions engineOptions = new EngineOptions(true,   
                             ScreenOrientation.PORTRAIT_FIXED,   
                             new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT),   
                             camera);  
// 声明程序要使用背景音乐  
engineOptions.getAudioOptions().setNeedsMusic(true);  
// 声明程序要使用音效  
engineOptions.getAudioOptions().setNeedsSound(true);  
 
在onCreateResources()方法中加载音乐和音效资源
[java]  
MusicFactory.setAssetBasePath("mfx/");  
try {  
    this.mMusic = MusicFactory.createMusicFromAsset(this.mEngine.getMusicManager(), 
this, "lx.mp3");  
    this.mMusic.setLooping(true);  
} catch (final IOException e) {  
    Debug.e(e);  
}  
  
SoundFactory.setAssetBasePath("mfx/");  
try {  
    this.mSound = SoundFactory.createSoundFromAsset(this.mEngine.getSoundManager(),
 this, "click.ogg");  
} catch (final IOException e) {  
    Debug.e(e);  
}  
我将音乐和音效的使用方法放在了屏幕的点击事件里
[java]  
scene.setOnSceneTouchListener(new IOnSceneTouchListener() {  
    @Override  
    public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {  
        if (pSceneTouchEvent.isActionUp()) {                      
            if (!MainActivity.this.mMusic.isPlaying()) {  
                MainActivity.this.mSound.play();  
                MainActivity.this.mMusic.play();  
            } else {  
                MainActivity.this.mMusic.pause();  
            }  
        }  
        return false;  
    }  
});  
经测试mp3和ogg格式的文件都支持。
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,