(간단한 음악 파일 재생)
MediaPlayer 주로 동시 재생이 필요할 때 사용한다.
[sourcecode language="JAVA"]
static MediaPlayer create(Context context, int resid)
public void start()
public void stop()
public void sekkTo(int msec)
public void pause()
[/sourcecode]
SoundPool 반복적인 재생이 필요할 때 사용한다.
[sourcecode language="JAVA"]
SoundPool (int maxStreams, int streamType, int secQuality)
@param maxStreams 최대 스트림 개수
@param streamType : 스트리밍 타입
@param secQuality : 음질
int load (Context context, int resId, int priority)
int load (String path, int priority)
@return 고유 식별자
@param priority 재생 우선순위 (현재는 1)
[/sourcecode]
[sourcecode language="JAVA"]
int play(int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate)
@param soundID load가 리턴한 고유 식별자
@param Volume 사운드 크기
@param loop 반복 모드, 지정값 +1회 반복(0이면 1회). -1이면 무한 반복
@param rate 1 정상속도, 0.5 중간 속도, 2 2배속도
// example
SoundPool pool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
int pPool = pool.oad(this, R.raw.sound, 1);
pool.play(pPool, 1, 1, 0, 0, 1);
[/sourcecode]
// 사용 팁
MediaPlayer로 비프음을 연속적으로 재생하였을 때 겔럭시 S문제가 발생하였다.
아마도 겔럭시 S에서 사용되는 MediaPlayer클래스가 문제가 있지 않을가 싶다.
검색을 해보니 MediaPlayer쪽에서 prepare메서드 문제인거 같기도하고.. 정확한 원인을 아직 불분명하다.
또한 SoundPool도 잘안된다 ㅡㅡ^