2012-04-07 8 views
5

nella mia app sto registrando il discorso in modo che ho bisogno di impostare il mio emulatore in grado di registrare la voce. ho cercato nel google ho trovato qualche soluzione che è necessario avviare l'emulatore manualmente con l'opzione media. io uso il seguente cmd ma ho avuto errore.Come abilitare l'opzione media su emulatore android con la riga di comando

emulator -avd Test -audio-in MIC 

sto usando Android 2.2 (Api 2.2) su Windows 7. Come posso abilitare l'opzione MIC sul mio emulatore. mi aiuti per favore.

ho ottenuto il seguente errore:

>emulator -avd Test -audio-in MIC 

>unknown option: -audio-in 

please use -help for a list of valid options

risposta

9

tenta di utilizzare questo esempio:

package com.benmccann.android.hello; 

import java.io.File; 
import java.io.IOException; 

import android.media.MediaRecorder; 
import android.os.Environment; 

/** 
* @author <a href="http://www.benmccann.com">Ben McCann</a> 
*/ 

public class AudioRecorder { 

final MediaRecorder recorder = new MediaRecorder(); 
final String path; 

/** 
* Creates a new audio recording at the given path (relative to root of SD card). 
*/ 
public AudioRecorder(String path) { 
this.path = sanitizePath(path); 
} 

private String sanitizePath(String path) { 
    if (!path.startsWith("/")) { 
    path = "/" + path; 
} 
if (!path.contains(".")) { 
    path += ".3gp"; 
} 
return Environment.getExternalStorageDirectory().getAbsolutePath() + path; 
} 

/** 
* Starts a new recording. 
*/ 
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); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
recorder.setOutputFile(path); 
recorder.prepare(); 
recorder.start(); 
} 

/** 
* Stops a recording that has been previously started. 
*/ 
public void stop() throws IOException { 
recorder.stop(); 
recorder.release(); 
} 

} 

Spero che questo aiuto. Facci sapere come va, o se hai bisogno di ulteriore aiuto.

+0

grazie per la codifica ho il set esatto di codifica. la mia query è impostata su emulatore in grado di registrare la voce. emulatore -avd Test -audio-in MIC dà errore. È possibile sull'emulatore abilitare il MIC? –

+0

in emulatore non riesco a ottenere la registrazione audio –

Problemi correlati