#android #mediarecorder
#Android #mediarecorder
Вопрос:
В моем приложении я должен записывать звук с музыкой. Когда я нажимаю на кнопку записи, музыка запускается, и запись тоже начинается. Пользователь споет песню, и эта песня будет записана с музыкой.
В моем коде песня не записывается с музыкой. он записывает только звук пользователя. Пожалуйста, проверьте мой код и предложите мне.
recorder = new MediaRecorder();
record_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
mPlayer = MediaPlayer.create(RecordVoiceActivity.this, R.raw.intro);
mPlayer.start();
long dtMili = System.currentTimeMillis();
primarySongName="" dtMili;
// Date dt = new Date(dtMili);
Toast.makeText(RecordVoiceActivity.this,
"Recording starting", Toast.LENGTH_LONG).show();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
currentDateTimeString = DateFormat.getDateInstance()
.format(new Date());
Log.d("##################################", "" dtMili);
recorder.setOutputFile("/sdcard/Recordedsong_" dtMili ".3gp");
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
stop_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
// TODO Auto-generated method stub
Toast.makeText(RecordVoiceActivity.this,
"Recording stopped", Toast.LENGTH_LONG).show();
mPlayer.stop();
recorder.stop();
recorder.release();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
replay_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
// TODO Auto-generated method stub
Log.d("############################", currentDateTimeString);
Uri path = Uri.parse(Environment.getExternalStorageDirectory()
"/" "Recordedsong_" primarySongName
".3gp");
MediaPlayer player = MediaPlayer.create(
RecordVoiceActivity.this, path);
player.setLooping(false);
player.start();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
В этом коде я записываю песню и сохраняю ее на своей SD-карте. Затем воспроизведение с SD-карты.
Но песня записывается без музыки, которую я играю.
Комментарии:
1. Привет, Гаурав, твоя проблема решена или нет?
2. моя проблема такая же, поэтому, пожалуйста, дайте мне решение для нее.
3. ГауравГупта: Как вы решили проблему??
4. @Gaurav Gupta: Не могли бы вы предложить нам решить эту проблему..