やりたいこと
audioRecord.startRecording()を実行中に、MainViewのボタンを押してgetVoice()
で過去5秒間の音声を.wav
ファイルで取得したいです。
※補足:この取得したファイルは、Cloud Speech APIで音声認識します。
追記1
この記事にあるように、.wav
を取得するには、自前のクラスが必要みたいですね。しかしAudioRecordクラスのドキュメントには、そういった手順が書かれていません。(出来るだけ公式ドキュメントに則って書きたいです。)見逃しているだけかもしれないですけど、使い方を教えてください。
追記2
audioRecord.stop()を使用する前にgetVoice()コマンドを実行するとします。
java
1 //録音開始 2 private void startRecordVoice() { 3 //AudioRecordのインスタンス生成 4 5 try { 6 if (bufferSize != AudioRecord.ERROR_BAD_VALUE) { 7 audioRecord = new AudioRecord( 8 audioSource, 9 rate, 10 channelConfig, 11 audioFormat, 12 bufferSize); 13 if (audioRecord.getState() == AudioRecord.STATE_INITIALIZED){ 14 Log.d("AudioRecord","STATE_INITIALIZED"); 15 } 16 17 } 18 } catch (IllegalArgumentException e) { 19 e.printStackTrace(); 20 Log.d("error","ERROR_BAD_VALUE"); 21 } 22 audioRecord.startRecording(); 23 } 24 public void getVoice(){ 25 //??? 26 }
あなたの回答
tips
プレビュー