2012-04-07 10 views
5

でアンドロイドエミュレータのメディアオプションを有効にするにはどうすればスピーチを録音しているので、スピーチを記録できるエミュレータをセットアップする必要があります。 Googleで検索したところ、メディアオプションで手動でエミュレータを起動する必要があるいくつかのソリューションがありました。私は次のcmdを使用するが、私はエラーがある。私のアプリでコマンドライン

emulator -avd Test -audio-in MIC 

私はエミュレータ上のMICオプションを有効にするにはどうすればよいの窓7でAndroid 2.2(API 2.2)を使用しています。私を助けてください。

私は、次のエラーを得た:

>emulator -avd Test -audio-in MIC 

>unknown option: -audio-in 

please use -help for a list of valid options

答えて

9

は、この例を使用してみてください:

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

} 

・ホープこのヘルプます。それがどうなるか、さらに助けが必要な場合はお知らせください。

+0

コーディングのおかげで私はコーディングの正確なセットを持っています。私のクエリは、スピーチを録音できるエミュレータに設定されています。エミュレータ-avdテスト-audio-in MICではエラーが発生します。エミュレータでMICを有効にすることは可能ですか?エミュレータで –

+0

が録音できない –

関連する問題