安卓:录音和保存音频(Android: Voice Recording and saving aud

2019-06-25 05:23发布

我工作的应用程序,它会记录用户的声音,并保存在SD卡上的文件,然后允许用户再次收听音频。

我能够允许用户记录使用RecognizerIntent他的声音,但我不能弄清楚如何保存音频文件,并允许用户收听音频。 我将不胜感激,如果有人可以帮助我。 我已经在下面显示我的代码:

    // Setting up the onClickListener for Audio Button
    attachVoice = (Button) findViewById(R.id.AttachVoice_questionandanswer);
    attachVoice.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
        Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        voiceIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Please Speak");
        startActivityForResult(voiceIntent, VOICE_REQUEST);
        }
    });

protected void onActivityResult(int requestCode, int resultCode, Intent data) {


  if(requestCode == VOICE_REQUEST && resultCode == RESULT_OK){




}

Answer 1:

还有就是如何做到在使用MediaRecorder音频采集的例子Android开发者文档。

我会建议节省的SD卡中的文件,然后让库的代码检查SD卡来查看哪些文件来显示。 你可以使用SD卡的目录Environment.getExternalStorageDirectory()方法。 这将是最好保存在SD卡根目录下的子目录文件。

确保你给你的应用程序的权限 ,将需要。 至少,它需要RECORD_AUDIO和WRITE_EXTERNAL_STORAGE 。

此外,你必须看到这些教程:

http://www.androiddevblog.net/android/android-audio-recording-part-1

http://www.androiddevblog.net/android/android-audio-recording-part-2



Answer 2:

如果你真的想记录通过语音识别API音频,那么你可以使用RecognitionService.Callback其中有一个方法

void bufferReceived(byte[] buffer)

这使您可以访问录制的音频缓冲语音被记录和认可。 (没有信息虽然提供了有关采样率。)然后,您可以保存所获得的缓冲区到文件的稍后回放。 我觉得键盘的应用程序使用此电话时显示记录的语音波形。 你必须自己实现UI。

RecognizerIntent.ACTION_RECOGNIZE_SPEECH刚刚返回一组词/短语没有任何音讯。



文章来源: Android: Voice Recording and saving audio