2010/09/12 12:32

안드로이드 soundpool을 이용한 간단한 알림음 설정 안드로이드

간단한 소리(효과음)을 낼 경우 SoundPool을 이용한다.

아래 예제에서 static으로 선언했는데 구지 static으로 선언할 필요는 없다.

res폴더 내에 raw파일을 생성해주고 그 안에 원하는 파일을 넣으면 된다.

이 경우 beep.ogg complete.ogg end.ogg fail.ogg 파일을 추가하였다.

이제 원하는 위치에서 playSound(int i)를 호출하면 된다.

-매개변수 설명-

SoundPool(int maxStream, int streamType, int secQuality)
1. 최대 스트림 갯수
2. 스트림 타입
3. 샘플링 품질
int play(int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate)
1. load가 리턴한 식별자
2. 0~1사이의 볼륨 값
3. 반복 횟수 0은 1회, -1 은 무한반복, 1,2,3,4, 는 추가 재생하는 횟수.
4. 속도 비율 2는 2배 0.5는 절반 속도

-코드-

private static SoundPool soundPool;
private static int[] sound;  

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0 );
sound = new int[4];
sound[0] = soundPool.load(this, R.raw.beep, 1);  
sound[1] = soundPool.load(this, R.raw.complete, 1);  
sound[2] = soundPool.load(this, R.raw.end, 1);  
sound[3] = soundPool.load(this, R.raw.fail, 1);  
}

public static void playSound(int i){
soundPool.play( sound[i], 1, 1, 0, 0, 1);  
}



덧글

  • 쌤입니다 2012/08/23 14:56 # 삭제 답글

    좋은글 퍼가겠습니다~ 감사감사~
댓글 입력 영역


whos.amung.us 통계