• [안드로이드] 안드로이드 소리(Sound Pool)를 넣어보자2012.11.04 PM 02:22

게시물 주소 FONT글자 작게하기 글자 키우기

안드로이드는 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 개
안녕하세요 알마농님
저는 안드로이드를 배우는 초보인데

이 게시물의 소스를 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() 입니다.

왜그런지 혹시 아시면 답변좀부탁드리겠습니다.
친구글 비밀글 댓글 쓰기