如何在Android上使用麦克风

时间:2011-07-03 17:49:02

标签: android

我刚刚开始开发我的第一个Android应用程序,我很难弄清楚如何启动麦克风并让它听,这是我的应用程序的主要功能。

我搜索了Android文档,我找不到太多关于此的信息。

提前致谢。

2 个答案:

答案 0 :(得分:10)

也许这可以帮助(实际上来自Android文档):
Audio Capture

  1. 创建android.media.MediaRecorder
  2. 的新实例
  3. 使用MediaRecorder.setAudioSource()设置音频源。您可能希望使用MediaRecorder.AudioSource.MIC
  4. 使用MediaRecorder.setOutputFormat()设置输出文件格式。
  5. 使用MediaRecorder.setOutputFile()设置输出文件名。
  6. 使用MediaRecorder.setAudioEncoder()设置音频编码器。
  7. MediaRecorder.prepare()个实例上调用MediaRecorder
  8. 要开始录音,请拨打MediaRecorder.start()
  9. 要停止音频捕获,请致电MediaRecorder.stop()
  10. 完成MediaRecorder实例后,请在其上调用MediaRecorder.release()。始终建议调用MediaRecorder.release()立即释放资源。
  11. 或:
    Android Audio Recording Tutorial

答案 1 :(得分:0)

您可以使用自定义录像机:

 final static int RQS_RECORDING = 1; 
 Uri savedUri; 
 Button buttonRecord;

 @Override public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_test);
    buttonRecord = (Button) findViewById(R.id.record);
    buttonRecord.setOnClickListener(new Button.OnClickListener() {
         @Override
         public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Intent intent = new Intent(
                        MediaStore.Audio.Media.RECORD_SOUND_ACTION);
                startActivityForResult(intent, RQS_RECORDING);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    if (requestCode == RQS_RECORDING) {
         savedUri = data.getData();
         Toast.makeText(MainActivity.this,
         "Saved: " + savedUri.getPath(), Toast.LENGTH_LONG).show();
       }
    }