android怎么加音乐,Android添加音乐

package com.llkan.setup;

import java.util.HashMap;

import java.util.Map;

import java.util.Random;

import com.llkan.R;

import android.content.Context;

import android.media.AudioManager;

import android.media.MediaPlayer;

import android.media.SoundPool;

/**

* 声音控制类

* @author wyf

*

*/

public class SoundPlayer {

private static MediaPlayer music;

private static SoundPool soundPool;

private static boolean musicSt = true; //音乐开关

private static boolean soundSt = true; //音效开关

private static Context context;

private static final int[] musicId = {R.raw.bg,R.raw.bg1,R.raw.bg2,R.raw.bg3};

private static Map soundMap; //音效资源id与加载过后的音源id的映射关系表

/**

* 初始化方法

* @param c

*/

public static void init(Context c)

{

context = c;

initMusic();

initSound();

}

//初始化音效播放器

private static void initSound()

{

soundPool = new SoundPool(10,AudioManager.STREAM_MUSIC,100);

soundMap = new HashMap();

soundMap.put(R.raw.itemboom, soundPool.load(context, R.raw.itemboom, 1));

soundMap.put(R.raw.sel, soundPool.load(context, R.raw.sel, 1));

}

//初始化音乐播放器

private static void initMusic()

{

int r = new Random().nextInt(musicId.length);

music = MediaPlayer.create(context,musicId[r]);

music.setLooping(true);

}

/**

* 播放音效

* @param resId 音效资源id

*/

public static void playSound(int resId)

{

if(soundSt == false)

return;

Integer soundId = soundMap.get(resId);

if(soundId != null)

soundPool.play(soundId, 1, 1, 1, 0, 1);

}

/**

* 暂停音乐

*/

public static void pauseMusic()

{

if(music.isPlaying())

music.pause();

}

/**

* 播放音乐

*/

public static void startMusic()

{

if(musicSt)

music.start();

}

/**

* 切换一首音乐并播放

*/

public static void changeAndPlayMusic()

{

if(music != null)

music.release();

initMusic();

startMusic();

}

/**

* 获得音乐开关状态

* @return

*/

public static boolean isMusicSt() {

return musicSt;

}

/**

* 设置音乐开关

* @param musicSt

*/

public static void setMusicSt(boolean musicSt) {

SoundPlayer.musicSt = musicSt;

if(musicSt)

music.start();

else

music.stop();

}

/**

* 获得音效开关状态

* @return

*/

public static boolean isSoundSt() {

return soundSt;

}

/**

* 设置音效开关

* @param soundSt

*/

public static void setSoundSt(boolean soundSt) {

SoundPlayer.soundSt = soundSt;

}

/**

* 发出‘邦’的声音

*/

public static void boom()

{

playSound(R.raw.itemboom);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值