Я пытаюсь внедрить систему чата с возможностью отправки голосовых сообщений. Вот немного моей логики c: сохранить кнопку и передать ее сообщение. После этого отпустите кнопку, и сообщение будет сохранено в хранилище. Я хорошо делаю запись, но я сталкиваюсь с двумя препятствиями: в новой записи предыдущая запись перезаписывается, я скорее хочу иметь полный список голосовых сообщений в моем хранилище firenase. Кроме того, после записи я не могу открыть голос. Кто-нибудь может меня спасти?
Вот мой код: Oncreate Methode
fileName = Environment.getExternalStorageDirectory().getAbsolutePath();
fileName += "/recored_audio.3gp" ;
btnrecoder.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
startRecording();
btnrecoder.setText(" Recording start...");
} else if (event.getAction() == MotionEvent.ACTION_UP) {
stopRecording();
}
return true;
}
});
Out of the onCreate :
private void startRecording() {
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setOutputFile(fileName);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
recorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed" + e.getMessage());
}
recorder.start();
}
private void stopRecording() {
recorder = new MediaRecorder();
recorder.release();
try{
recorder.stop();
}catch(RuntimeException stopException){
//handle cleanup here
Log.d(TAG," message derreure " + stopException.getMessage());
}
recorder = null;
uploadAudio();
}
private void uploadAudio(){
StorageReference fii = storageReference.child("Audio").child("new audio.3gp");
Uri uri = Uri.fromFile(new File(fileName));
fii.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
btnrecoder.setText("Uploading finished");
Toast.makeText(FriendList.this, "Vocal Save to db storage", Toast.LENGTH_SHORT).show();
}
});
}
Были вопросы, похожие на этот, который не получил конкретных ответов