안드로이드 개발 질문/답변
(글 수 45,052)
MediaPlayer a = MediaPlayer.create(Context context, int resid)
a.start();
이렇게 쓰면은 핸드폰에서 이걸 실행시켰을때 미디어볼륨으로 들어가는대요
벨소리 볼륨으로 바꾸게 하는 방법이 없을까요
MediaPlayer a = MediaPlayer.create(Activity.this, R.raw.a);
try{
a.prepareAsync();
a.setAudioStreamType(2); // 2 : AudioManager.STREAM_RING
a.prepare();
}catch(Exception e){
er.start();
}
이렇게 설정했는대 그래도 미디어볼륨으로 들어가더라구요.
방법이 없겠습니까??
2011.12.26 13:43:17
(추천:
1 / 0)
아마 위에서 AsyncPrepare()때문에 추후에 prepare되는것때문에 작동이 안되는가 하는 짐작도 듭니다.
async를 빼보고 그냥 prepare만 해보세요.
MediaPlayer로 음악을 Start()하기전에 Prepare()를 하는데 이거 전에 StreamType을 변경하면 됩니다.
아래는 예제 소스입니다.
mp.setAudioStreamType(AudioManager.STREAM_RING);
Log.i("onCreate","setAudioStreamType");
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i("onCreate","prepare");
mp.start();
Log.i("onCreate","start");



