게임중 사용할 배경음악 관리하는 Class
2011. 10. 15. 12:44ㆍ프로그래밍/Android
728x90
반응형
게임을 만드는데 유용한 다양한 엔진들이 있다.
하지만 본소스 직접 만들때 사용하면 도움이 될만한 소스다.
import java.util.Vector;
하지만 본소스 직접 만들때 사용하면 도움이 될만한 소스다.
import java.util.Vector;
import android.media.MediaPlayer;
/*************************************************************************************************
* 작성자 : (주)마노디오 신수원
* 작성일 : 2011.10.15일
* 파일명 : MusicManager.java
* 내용 : 게임중 효과음이 아닌 배경을 틀어주기 위해서 사용된 배경음악 관리자 Class입니다.
* 사용방법은 아주 간단합니다.
*
* //다음과 같이 틀어줄 음악의 고유 아이디를 선언해줍니다.
* static final int MUSIC_TITLE = 0;
*
* //다음과 같이 MusicManager를 선언하고 addMusic을 통해서 사용항 음악들을 추가해줍니다.
* MusicManager bgmMan = new MusicManager();
bgmMan.addMusic(MUSIC_TITLE, MediaPlayer.create(myContext, R.raw.bgm_00_title ));
//그리고 실제로 틀어줄때는 다음 함수를 호출해줍니다.
bgmMan.setMusic(MUSIC_TITLE);
//그리고 어플을 종료할때는 필히 다음 함수를 호출해서 로딩한 리소스를 풀어줍니다.
bgmMan.releaseAll();
*************************************************************************************************/
class MusicManager implements GameDefines
{
public boolean isMusicOn = true;
Vector<MediaPlayer> bgmBuffer = new Vector<MediaPlayer>();
public MediaPlayer mp_BGMusic = null;
/*
* 생성자.
*/
public MusicManager()
{
}
/*
* 버퍼에 틀어줄 음악을 등록해준다.
*/
public void addMusic(int ID, MediaPlayer MP)
{
bgmBuffer.add(ID,MP);
}
/*
* 음악 및 효과음을 죽여준다.
*/
public void setSoundOff()
{
isMusicOn = false;
if(mp_BGMusic.isPlaying() == true)mp_BGMusic.pause();
}
/*
* 음악 및 효과음을 살려준다.
*/
public void setSoundOn()
{
isMusicOn = true;
if(mp_BGMusic != null)
{
if(mp_BGMusic.isPlaying() == false)
{
mp_BGMusic.setLooping(true);
mp_BGMusic.start();
}
}
}
/*
* 배경음악을 틀어준다.
*/
public void setMusic(int ID)
{
if(isMusicOn == true)
{
mp_BGMusic.pause();
mp_BGMusic =bgmBuffer.elementAt(ID);
mp_BGMusic.setLooping(true);
mp_BGMusic.start();
}
}
/*
* 배경 음악과 관련된 리소스들 풀어준다.
*/
public void releaseAll()
{
for(int i=0; i< bgmBuffer.size() ;i++)
{
mp_BGMusic =bgmBuffer.elementAt(i);
mp_BGMusic.release();
}
}
}
728x90
반응형
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 결재 BillingTest (2) | 2012.01.10 |
---|---|
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define (0) | 2012.01.09 |
com.android.ddmlib.SyncException: Too many open files (0) | 2012.01.03 |
conversion to dalvik format failed with error 1 (1) | 2011.11.17 |
Alpha값이 적용된 그림의 충돌 검사.. (0) | 2011.10.17 |