MediaPlayer
인스턴스에서 별도의 오디오 스트림 유형을 설정하여이 작업을 수행 할 수 있습니다. 이것이 의도하지 않은 결과를 가져올 지 모르겠다. 음악에 STREAM_MUSIC
을 사용해야한다고 생각한다.하지만 작동한다. 에서
다음 나중에
seek1 = (SeekBar) findViewById(R.id.seek1);
seek2 = (SeekBar) findViewById(R.id.seek2);
seek1.setOnSeekBarChangeListener(this);
seek2.setOnSeekBarChangeListener(this);
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
seek1.setMax(am.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
seek2.setProgress(am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL));
// Set up your MediaPlayers
// Call the following lines before onPrepare()
instrumental.setAudioStreamType(AudioManager.STREAM_MUSIC);
vocal.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
당신의 당신은 그것의 setVolume() 메소드를 사용하여 MediaPlayer를의 오디오를 제어 할 수 있습니다 onSeekBarChangeListener
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
if (seekBar.equals(seek1)) {
am.setStreamVolume(AudioManager.STREAM_MUSIC, seekBar.getProgress(), 0);
}
else {
am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, seekBar.getProgress(), 0);
}
}
질문/문제를 추가 할 수 있습니까? –
ahm 나는 보컬과 함께 악기를 연주하려고합니다. 그러나 보컬 오디오에서. 나는 진행 바에 의해 볼륨에 대한 제어권을 가져야한다. – ceosilvajr