마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

오디오 재생 관련 질문입니다.

0 추천

public class SampleAudioPlayerActivity extends Activity {

static final String AUDIO_URL = "http://sites.google.com/site/ubiaccessmobile/sample_audio.amr";
private MediaPlayer mediaPlayer;
private int playbackPosition = 0;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button startBtn = (Button) findViewById(R.id.playBtn);
Button pauseBtn = (Button) findViewById(R.id.pauseBtn);
Button restartBtn = (Button) findViewById(R.id.restartBtn);

startBtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
try {
playAudio(AUDIO_URL);

Toast.makeText(getApplicationContext(), "음악 파일 재생 시작됨.", 2000).show();
} catch (Exception e) {
e.printStackTrace();
}
}
});

pauseBtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (mediaPlayer != null) {
playbackPosition = mediaPlayer.getCurrentPosition();
mediaPlayer.pause();
Toast.makeText(getApplicationContext(), "음악 파일 재생 중지됨.", 2000).show();
}
}
});

restartBtn.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
if (mediaPlayer != null && !mediaPlayer.isPlaying()) {
mediaPlayer.start();
mediaPlayer.seekTo(playbackPosition);
Toast.makeText(getApplicationContext(), "음악 파일 재생 재시작됨.", 2000).show();
}
}
});
}

 

두잇이라는 책에 있는 예제 입니다

 

이예제에서는 URL로 외부에서 음원을 가져와서 쓰겠금 되어 있는데요

 

저는 res폴더에 raw라는 폴더 안에 음악을 넣어서 쓰고 싶은데 이코드에서 어느부분을 바꿔야 할지 몰라서

이렇게 질문 드립니다.

 

L0veIsPain0602 (330 포인트) 님이 2013년 3월 21일 질문

1개의 답변

0 추천
 
채택된 답변
MediaPlayer  객체에 setDataSource 부분을 수정해 주시면 됩니다.

기존에는 url 및 path 값을 넘겨주게 되어 있는데

raw 폴더에 있는 파일을 실행시키려면 FileDescriptor를 넘겨주셔야 할 것입니다.
원조안드로이드 (58,190 포인트) 님이 2013년 3월 21일 답변
L0veIsPain0602님이 2013년 4월 30일 채택됨
...