9

ユーザーの声を録音して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){




}
4

2 に答える 2

8

Androidデベロッパードキュメントには、MediaRecorderを使用してオーディオキャプチャを実行する方法の例があります。

SDカードにファイルを保存してから、ギャラリーコードでSDカードをチェックして、表示するファイルを確認することをお勧めします。SDカードのディレクトリは、Environment.getExternalStorageDirectory()メソッドを使用して取得できます。SDカードのルートディレクトリのサブディレクトリにファイルを保存することをお勧めします。

アプリケーションに必要なアクセス許可を必ず付与してください。少なくとも、RECORD_AUDIOWRITE_EXTERNAL_STORAGEが必要になります。

また、これらのチュートリアルを参照する必要があります。

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

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

于 2012-06-05T21:48:04.573 に答える
2

本当に音声認識 API を介して音声を録音したい場合は、メソッドを持つRecognitionService.Callbackを使用できます。

void bufferReceived(byte[] buffer)

これにより、音声が録音および認識されているときに、録音されたオーディオ バッファーにアクセスできます。(ただし、サンプル レートに関する情報は提供されません。)取得したバッファーをファイルに保存して、後で再生することができます。キーボード アプリはこの呼び出しを使用して、録音された音声の波形を表示すると思います。UI を自分で実装する必要があります。

RecognizerIntent.ACTION_RECOGNIZE_SPEECHは、音声なしで一連の単語/フレーズを返すだけです。

于 2012-06-06T16:38:41.720 に答える