简体   繁体   English

Android上的麦克风如何使用

[英]How to use the microphone on Android

I have just started to develop my first Android app, and I am having a hard time figuring out how to start the microphone and have it listen, which is a main feature of my app.我刚刚开始开发我的第一个 Android 应用程序,我很难弄清楚如何启动麦克风并让它听,这是我的应用程序的主要功能。

I've searched the Android docs and I can't find much info on this.我搜索了 Android 文档,但找不到太多关于此的信息。

Thanks in advance.提前致谢。

Maybe this can help (actually from the Android docs):也许这会有所帮助(实际上来自 Android 文档):
Audio Capture音频捕捉

  1. Create a new instance of android.media.MediaRecorder .创建android.media.MediaRecorder的新实例。
  2. Set the audio source using MediaRecorder.setAudioSource() .使用MediaRecorder.setAudioSource()设置音频源。 You will probably want to use MediaRecorder.AudioSource.MIC .您可能想要使用MediaRecorder.AudioSource.MIC
  3. Set output file format using MediaRecorder.setOutputFormat() .使用MediaRecorder.setOutputFormat()设置 output 文件格式。
  4. Set output file name using MediaRecorder.setOutputFile() .使用MediaRecorder.setOutputFile()设置 output 文件名。
  5. Set the audio encoder using MediaRecorder.setAudioEncoder() .使用MediaRecorder.setAudioEncoder()设置音频编码器。
  6. Call MediaRecorder.prepare() on the MediaRecorder instance.MediaRecorder实例上调用MediaRecorder.prepare()
  7. To start audio capture, call MediaRecorder.start() .要开始音频捕获,请调用MediaRecorder.start()
  8. To stop audio capture, call MediaRecorder.stop() .要停止音频捕获,请调用MediaRecorder.stop()
  9. When you are done with the MediaRecorder instance, call MediaRecorder.release() on it.完成MediaRecorder实例后,在其上调用MediaRecorder.release() Calling MediaRecorder.release() is always recommended to free the resource immediately.始终建议调用MediaRecorder.release()以立即释放资源。

or:或者:
Android Audio Recording Tutorial Android录音教程

You can use custom recorder:您可以使用自定义记录器:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM