반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
안드로이드에서 오디오를 재생하는 클래스가 2개 있습니다.
1. MediaPlayer
2. SoundPool
오늘은 이 중 짧은 효과음 정도의 재생을 하는데 유용한 SoundPool
사용 방법에 대해 알아봅니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | SoundPool mSoundPool int mStreamId; public void playMusic() { SoundPool mSoundPool = new SoundPool.Builder().build(); // 생성 mSoundPool.load(getContext(), R.raw.typing_sound, 1); // 로딩 mSoundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() { @Override public void onLoadComplete(SoundPool soundPool, int sampleId, int status) { { mStreamId = mSoundPool.play(sampleId, 1.0f, 1.0f, 1, -1, 1.0f); // 실행 } } }); } public void stopMusic () { // stop 메소드 사용시 streamId가 필요합니다. // streamId는 play 메소드 호출 시 반환 값입니다. mSoundPool.stop(mStreamId); } | cs |
사용법에 대해 간단히 알아보았습니다.
파라미터에 대해서도 봐야겠죠?
load(Context context, int res, int priority);
res |
실행할 오디오 파일 |
priority |
우선순위입니다. 숫자가 작을수록 우선순위가 낮습니다. |
play(int soundID, float leftVolume, float rightVolume, int priority, int loop, float rate);
soundID |
load에서 얻은 soundID입니다. |
leftVolume |
왼쪽 소리크기 ( 0.0f ~ 1.0f) |
rightVolume |
오른쪽 소리크기 ( 0.0f ~ 1.0f) |
priority |
우선순위입니다. 숫자가 작을수록 우선순위가 낮습니다. |
loop |
반복 재생 여부입니다. 0 = 1번재생, -1 = 반복재생 |
rate |
재생속도입니다. (0.5f ~ 2.0f, 기본값 : 1.0f) |
이상입니다.
반응형