2013-02-20 8 views
9

Sto creando un'applicazione che riproduce file registrati su Android per iphone e viceversa.come registrare file audio con una migliore qualità in Android?

ora sto usando,

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

file registrato utilizzando questo codice con dimensioni 85 kb/15 sec ed una qualità molto scarsa.

se uso,

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

quindi il file di formato è 25kb/15 sec e la qualità molto meglio di aac. ma il problema è che AMR non è riproducibile in iPhone.

Quindi, per favore suggerisci di registrare uno schema per Android con una qualità migliore, dimensioni accessibili e su iPhone.

risposta

14

Aumentare il recorder.setAudioEncodingBitRate (valore), se si desidera cambiare la qualità.

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(); 

EDIT:

Un'altra opzione è quella di aggiungere un convertitore per la vostra applicazione. Convertire AMR in AAC.

+0

Grazie Jermaine, \t audioRecorder.setAudioSamplingRate (44100); \t audioRecorder.setAudioEncodingBitRate (96000); prova questo, ma con molto rumore nel suono. – PrvN

+0

Provare a regolare la frequenza di campionamento e il bit rate. e trova un posto migliore per registrare. – StarPinkER

+0

sì bitrate aumentato come 96000 e frequenza di campionamento come 44100. ma ancora rumoroso ... – PrvN