安卓:录音和保存音频

问题描述 投票:9回答:2

我工作的应用程序,它会记录用户的声音,并保存在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){




}
android android-intent android-mediaplayer voice-recognition android-audiomanager
2个回答
8
投票

还有就是如何在Android Developer Documentation.使用MediaRecorder做音频捕捉的例子

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

请确保你给你的应用程序的Permissions它将需要。至少,它需要RECORD_AUDIOWRITE_EXTERNAL_STORAGE

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

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

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


2
投票

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

void bufferReceived(byte[] buffer)

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

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

© www.soinside.com 2019 - 2024. All rights reserved.