main.xml코드 소리파일은 첨부파일에 넣어놨습니다. raw폴더를 만드셔서 거기에 소리파일을 넣으세요
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/direct1"
android:text="직접재생1"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/direct2"
android:text="직접재생2"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/prepare1"
android:text="미리 준비해 놓고 재생1"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/prepare2"
android:text="미리 준비해놓고 재생2"
/>
</LinearLayout>
ex22.java 코드
package com.android.ex22;
import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
public class ex22 extends Activity {
Beeper DingDong;
Beeper ddock;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DingDong = new Beeper(this, R.raw.dingdong);
ddock = new Beeper(this, R.raw.ddok);
findViewById(R.id.direct1).setOnClickListener(mClickListener);
findViewById(R.id.direct2).setOnClickListener(mClickListener);
findViewById(R.id.prepare1).setOnClickListener(mClickListener);
findViewById(R.id.prepare2).setOnClickListener(mClickListener);
}
OnClickListener mClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MediaPlayer player;
switch(v.getId()){
case R.id.direct1:
player = MediaPlayer.create(ex22.this, R.raw.dingdong);
player.start();
break;
case R.id.direct2:
player = MediaPlayer.create(ex22.this, R.raw.ddok);
player.start();
break;
case R.id.prepare1:
DingDong.play();
break;
case R.id.prepare2:
ddock.play();
break;
}
}
};
}
class Beeper{
MediaPlayer player;
Beeper(Context context, int id){
player = MediaPlayer.create(context, id);
}
void play(){
player.seekTo(0);
player.start();
}
}
직접재생방법과 미리 준비해놓고 재생하는 방법 2가지 중에
첫번째 방법은 일반 스마트폰으로 하고 계속 누르면 핸드폰이 뻗어버리고 두번째 방법은 안
뻗습니다. 그래서 두번째 방법을 더 추천합니다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
안드로이드 쓰레드 3번째 쓰레드를 구현하는 클래스와 메인 클래스를 따로 만들어서 처리해보자 (0) | 2012.08.21 |
---|---|
안드로이드 쓰레드 구현 2번째 방법 post 메소드를 이용하자. (0) | 2012.08.21 |
안드로이드 쓰레드 첫번째 예제 handleMessage 구현하는 방법 (1) | 2012.08.21 |
안드로이드 Context Menu를 만들어보자. (0) | 2012.08.16 |
안드로이드 Listener의 이해, 버튼을 누르면 Text가 바뀐다 (0) | 2012.08.15 |
안드로이드 Toast 메시지에 내가 원하는 그림을 넣어보자 (2) | 2012.08.13 |
안드로이드 스마트폰 진동을 내맘대로 다뤄보자 (0) | 2012.08.03 |
사운드폴을 이용한 음악파일 출력 (0) | 2012.08.03 |