/ / como gravar arquivos de áudio com melhor qualidade no android? - android, android-mediarecorder, aac, android-audiorecord

como gravar arquivos de áudio com melhor qualidade no android? - android, android-mediarecorder, aac, android-audiorecord

Estou criando um aplicativo que reproduz arquivo gravado no Android para iphone e vice-versa.

agora estou usando

        audioRecorder = new MediaRecorder();
audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

arquivo gravado usando este código com tamanho 85 kb / 15 seg e uma qualidade muito pobre.

se eu uso

        audioRecorder = new MediaRecorder();
audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

então o tamanho do arquivo é 25kb / 15 seg e qualidade muito melhor que aac. mas o problema é que AMR não é jogável no iPhone.

Então, por favor, sugira o esquema de gravação para o Android ter melhor qualidade, tamanho acessível e pode jogar no iPhone também.

Respostas:

14 para resposta № 1

Aumente o recorder.setAudioEncodingBitRate (valor) se quiser alterar a qualidade.

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax());
recorder.setAudioEncodingBitRate(16);
recorder.setAudioSamplingRate(44100);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();

EDITAR:

Outra opção é adicionar um conversor ao seu aplicativo. Converta AMR para AAC.


2 para resposta № 2

este link é muito útil confira: formatos de mídia compatíveis com o Android

Esta seção nos dará mais informações sobre os formatos audio e viedo