[android] Rxjava + Audio Recording Utils を作ってみた

最近ChatBotを開発していて、文字入力を音声でやりたいという要件があった。つまりSpeech Dectationである。
この部分をAndroidで実装するために音声の録音用Utilsを作成したので共有。

使い方

下記のようにAudioRecordUtilsのインスタンスを作成しAudioRecordUtils#startRecordingを呼びUtilsに開始を知らせる。

そしてAudioRecordUtils#doRecordAudioのObservableをSubscribeして録音を開始する。
ここのObservable内の処理で録音する処理が走るようになっている。

終了はAudioRecordUtils#stopRecordingを呼ぶ。それにより、onSuccessへ終了後の処理を行うことができる。
ここでは、ファイル送信用APIへ録音したFileをAudioRecordUtils#getRecordedFileで受取渡している。

また、onSuccessLong[]を受け取っているが別になんでもよく、変更可能である。

なお、録音したFileは取っおく必要がないので、送信直後に削除するようにしている。

AudioRecordUtils.java

FileUtils.java

スポンサーリンク
レクタングル(大)