Android에서 MediaPlayer 또는 SoundPool로 사운드를 재생할 수 있습니다. Android 기기 두 대가 MediaPlayer 사용시 동일한 소리를 훨씬 크게 재생합니다. 세 번째 장치에서 볼륨이 동일하게 들립니다.Android : MediaPlayer가 SoundPool보다 큰 소리를 재생하는 이유는 무엇입니까?
이유를 알고 계십니까? SoundPool에서 MediaPlayer처럼 소리를 재생하도록 설정할 수 있습니까?
태블릿 LG-V400 (안드로이드 4.4 킷 캣)
전화 Sony Xperia L (안드로이드 4.2.2)
코드 : SoundPool와 재생 MP3 사운드 문제
장치
private void playSoundPool() {
int MAX_STREAMS = 2;
SoundPool soundPool = new SoundPool(MAX_STREAMS, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int soundId, int status) {
int loop = 0;
int priority = 0;
float rate = 1.f;
soundPool.play(soundId, 1, 1, priority, loop, rate);
}
});
soundPool.load(this, R.raw.test, 1);
}
코드 : 당신은 download test project에 오신 것을 환영합니다 MediaPlayer를
private void playMediaPlayer() {
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.test);
mediaPlayer.setVolume(1, 1);
mediaPlayer.start();
}
와 MP3 사운드를 재생할 수 있습니다.
'soundfool.play'의 볼륨으로'1.0f'를 사용하면 어떻게 될까요? 같은 볼륨을 원한다면 같은 볼륨 레벨을 사용하고 싶을 것입니다. – ianhanniballake
그것은 단지 동일합니다. 나는 0.99f를 넣었습니다. 왜냐하면 누군가 2010 년 SoundPool 볼륨을 [0, 0.99f] 범위로 유지하도록 조언했기 때문입니다. 코드를 간단하게 유지하기 위해 "1"로 코드를 업데이트했습니다. – Pavel
어쩌면 MediaPlayer.setAudioStreamType과 관련이 있습니까? – pskink