2.4 KiB
2.4 KiB
StreamAudio
コントロール機能:音声ストリームのリアルタイム収集、音声活動検出(VAD)によるトリガー、音声のアップロード、およびサーバーから返される認識テキスト結果の受信を実現します。主に音声認識のシナリオで使用されます。
タイプ:コンテナーコントロール
親クラスコントロール:bricks.VBox
初期化パラメータ
opts{Object} - 設定オプションオブジェクト。VBoxから継承し、以下のプロパティを拡張:name{string} (任意) - コントロール名。デフォルトは'asr_text'。height{string} - 固定値'100%'。上書き不可。- その他のVBoxがサポートする汎用パラメータ(例:layoutなど)。
注意:コンストラクタ内では自動的に
height='100%'とデフォルトのnameが設定され、内部のサブコントロール(ボタン、フィラー、テキスト表示など)が作成されます。
主なイベント
直接外部に公開されるカスタムイベントはありませんが、バインドとコールバック機構を通じて以下の動作を処理しています:
- ボタンクリックイベント:内部の
this.buttonにclickイベントがバインドされ、toggle_status()メソッドを呼び出します。これにより、音声ストリームの収録を開始または停止します。 - 音声終了イベント:
vad.MicVADのonSpeechEnd(audio)コールバックによってトリガーされ、handle_audio(audio)を呼び出して音声データをエンコードして送信します。 - データ受信イベント:
receive_data()内でreader.readline()を使用してサーバーからのレスポンスストリームを継続的に読み取り、JSONデータを1件受信するごとに表示テキストを更新します。
ASRText
コントロール機能:StreamAudio と完全に同一。意味的に音声認識テキスト出力コンポーネントを明確に示すためのエイリアスコントロールです。
タイプ:コンテナーコントロール
親クラスコントロール:bricks.VBox(実際の継承関係はStreamAudioと同じ)
初期化パラメータ
StreamAudio と同じ。
主なイベント
StreamAudio と同じ。