안드로이드 - 사운드 재생하기.

웹 & 안드로이드/Android|2013. 10. 7. 12:32



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class MainActivity extends Activity {
     ImageButton button1;
     ImageButton button2;
     SoundPool soundPool;
     int soundDdok;
     AudioManager aMa;
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
        button1 = (ImageButton) findViewById(R.id.imageButton1);
        button2 = (ImageButton) findViewById(R.id.imageButton2);
        
        soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
        soundDdok = soundPool.load(getApplicationContext(), R.raw.ding, 1);
        aMa = (AudioManager) getSystemService(AUDIO_SERVICE);
        
        button1.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                soundPool.play(soundDdok, 1, 1, 0, -1, 1);
            }
        });
        button2.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                soundPool.stop(soundDdok);
            }
        });        
    }
 



-사운드를 재생하기 위해서는 많은 클래스 사용이 필요하다.


SoundPool : 사운드를 담는 pool과 같은 것.

soundDdok : pool의 개념보다는 작은, 트랙같은 것.

이 둘은 외부 리소스 사운드를 이용할 때 사용.


AudioManager : 각자 안드로이드 시스템의 오디오매니져이다. 

사운드 효과, 볼륨등을 지정한다. 

안드로이드 내부의 사운드를 이용할 때 사용. 


댓글()