# 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` と同じ。