2012-04-01 11 views
0

Ich bin eine Android-Anwendung zu entwickeln, den Sound mit Audiorecorder Klasse zeichnet Die folgende von meinem Code:Aufnahme klingt auf Android mit MediaRecorder

public void start() throws IOException { 
    String state = android.os.Environment.getExternalStorageState(); 
    if(!state.equals(android.os.Environment.MEDIA_MOUNTED)) { 
     throw new IOException("SD Card is not mounted. It is " + state + "."); 
    } 

    // make sure the directory we plan to store the recording in exists 
    File directory = new File(path).getParentFile(); 
    if (!directory.exists() && !directory.mkdirs()) { 
     throw new IOException("Path to file could not be created."); 
    } 
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
System.out.println("mashi"); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
recorder.setAudioEncodingBitRate(16); 
recorder.setAudioSamplingRate(44100); 
try { 
    recorder.setOutputFile(path); 
    System.out.println("ooutput"); 
} catch (IllegalStateException e) { 
    e.printStackTrace(); 
} 
recorder.prepare(); 
recorder.start(); 

}

Die aufgezeichnete Stimme ist sehr langsam und dick !! Was ist das Problem?

Antwort

1

Ändern recorder.setAudioSamplingRate (44100) zu recorder.setAudioSamplingRate (8000); Coz im Emulator dauert es 8000 Abtastrate nicht mehr als das ..