やりたいこと bufferReceivedを使いたい
わかりずらい質問かもしれませんがよろしくお願いします。音声データを保存しながら、音声認識しようと思い、Android.speechパッケージのRecognitionServiceを使いました。調べてみたところ、RecognitionListener
クラスのonBufferReceivedかRecognitionService.Callback
クラスのbufferReceivedを発見しました。早速、テストで動かしてみようとしたのですがonBufferReceived
の方は機種依存で動かないことがあるそうです。自分のAndroid端末でも動きませんでした。その次にbufferReceived
を試そうとしました。しかし、このメソッドの使い方が分かりません。リファレンスを読んでも分かりませんでした。自分が読んで理解したのが
RecognitionListener
はインターフェースで、RecognitionService.Callback
はクラスRecognitionService.Callback
はRecognitionService
と何らかの関係がある。- 何らかの関係として
onStartListening(Intent, Callback)
のCallback
にbufferReceived
を使うのだろうか。
疑問
その1
This class receives callbacks from the speech recognition service and forwards them to the user.
This class provides a base class for recognition service implementations.
この2つのクラスの関係を教えてください。自分で考えた感じでは、RecognitionService
を自作クラスに継承して、SpeechRecognizer
,RecognitionService.Callback
はimportし、bufferReceived
を使う。あってますか?
その2
bufferReceived
はどのように使うのでしょうか?返り値の型がvoidということは、音声データをマイクからストリーミング(AudioRecordクラスで行う)して取得したmybufferをbufferReceived(mybuffer)
のように使うと、mybufferを音声認識してくれるということでしょうか?そうでないなら、このメソッドはいったい何に使うのでしょうか?
public class RecognitionServiceTest extends RecognitionService { public RecognitionServiceTest(){ } @Override protected void onStartListening(Intent intent, Callback callback) { } @Override protected void onCancel(Callback callback) { } @Override protected void onStopListening(Callback callback) { } }
あなたの回答
tips
プレビュー