-
[안드로이드] 안드로이드 소리(Sound Pool)를 넣어보자2012.11.04 PM 02:22
안드로이드는 Wav, mp3, ogg 포멧의 사운드를 지원합니다.
사운드를 res/raw폴더에 복사해야하는데
raw폴더는 기본적으로 없습니다.
따로 만들어줘합니다.
오른쪽클릭 New > Folder
이름은 raw로 해주세요.
사용할 사운드를 복붙해주세요
화면부분도 꾸며주세요
.java로 가줍니다.
package com.example.sound;
import android.app.Activity;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private SoundPool sound_pool;
private int sound_correct;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sound_pool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
sound_correct = sound_pool.load(getBaseContext(), R.raw.iu, 1);
Button btn = (Button)findViewById(R.id.button1);
btn.setoncl-ckListener(new View.oncl-ckListener() {
public void oncl-ck(View v) {
// TODO Auto-generated method stub
sound_pool.play(sound_correct, 1.0f, 1.0f, 0, 0, 1.0f);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
-------------------------------------------------------------------
Sound Pool 설명
// 사운드풀 생성하기
// ** prameters **
// 1: 동시출력 가능 스트림수
// 2: AudioManager에 정의된 스트림 타입
// 3: sample rate 컨버터의 품질. default로 0을 줌
sound_pool = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
// 사운드풀 로드하기
// ** prameters **
// 1: context
// 2: resource
// 3: priority
sound_correct = sound_pool.load(getBaseContext(), R.raw.correct, 1);
// 미디어 재생하기
// ** prameters **
// 1: 리소스 식별
// 2-3: 소리크기
// 4: 우선순위
// 5: 파라미터 반복정보(0:반복x, 1:1번반복(총2번), -1:무한반복)
// 6: 재생속도(1:1x, 2:2x)
sound_pool.play(sound_correct, 1.0f, 1.0f, 0, 0, 1.0f);
버튼을 누르면 소리가 나옵니다.
댓글 : 1 개
- 오덕과 잉여사이
- 2012/11/10 AM 01:35
안녕하세요 알마농님
저는 안드로이드를 배우는 초보인데
이 게시물의 소스를 java에 그대로 가져다 부어도 꼭
sound_correct = sound_pool.load(getBaseContext(), R.raw.Evan, 1);
Button btn = (Button)findViewById(R.id.button1);
btn.setoncl-ckListener(new oncl-ckListener() {
이 세줄에서 에러가 나네요... 아직 초보라 이유를 알수 없네요
첫줄의 raw, 두번째줄의 button1, 세번째 줄의 View.oncl-ckListener() 입니다.
왜그런지 혹시 아시면 답변좀부탁드리겠습니다.
저는 안드로이드를 배우는 초보인데
이 게시물의 소스를 java에 그대로 가져다 부어도 꼭
sound_correct = sound_pool.load(getBaseContext(), R.raw.Evan, 1);
Button btn = (Button)findViewById(R.id.button1);
btn.setoncl-ckListener(new oncl-ckListener() {
이 세줄에서 에러가 나네요... 아직 초보라 이유를 알수 없네요
첫줄의 raw, 두번째줄의 button1, 세번째 줄의 View.oncl-ckListener() 입니다.
왜그런지 혹시 아시면 답변좀부탁드리겠습니다.
user error : Error. B.