init()
SDKを初期化し、アバター接続を開始します。
使用方法
js
await SDK.init(options);InitOption
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
sdk_key | string | O | - | SDK認証キー |
avatar_id | string | O | - | アバターID |
log_level | LogLevel | X | "warn" | ログレベル |
language | LanguageCode | X | "ko_kr" | TTS音声・字幕およびSTT認識に使用する言語コード |
enable_microphone | boolean | X | true | STTのためのマイク入力を使用するかどうか。trueの場合、init()の実行中にブラウザのマイク権限を要求し、接続時点からマイクが有効になり音声が送信されます。音声入力を使用しない場合は false で初期化してください。falseの場合は権限を要求しません。 |
auto_send | boolean | X | false | false(手動送信, Push-to-Send): startListening/endListeningで音声認識を制御します。true(自動送信, Auto Send): STTを常時有効にし、サーバーの音声活動検知(VAD)が発話区間を検知して自動的に応答を要求します。 |
stt_only | boolean | X | false | STT専用モード。trueの場合、アバターは応答せずSTT結果のみ返します。falseの場合、STT結果を返し、その結果に基づいてアバターが応答します。 |
enable_microphone が false の状態で startListening()、endListening()、cancelListening() を呼び出してもエラーは発生しません。シグナルはそのままサーバーへ送信されますが、音声は伝送されません。
マイクを取得できなかった場合もセッションはそのまま維持され、警告ログのみが残ります。
LogLevel
ブラウザコンソールに出力されるログレベルを制御します。設定したレベル以上のみ出力されます。
| 値 | 出力範囲 | 用途 |
|---|---|---|
"debug" | debug, info, warn, error | 開発中の詳細デバッグ |
"info" | info, warn, error | 主要イベントのみ確認(接続完了、初期化など) |
"warn" | warn, error | 潜在的な問題のみ確認(デフォルト) |
"error" | error | エラーのみ出力 |
"silent" | なし | コンソール出力を完全に無効化 |
LanguageCode
アバターのTTS音声・字幕言語と、ユーザーのSTT認識言語を指定します。
| 値 | 言語 |
|---|---|
"ko_kr" | 韓国語(デフォルト) |
"en_us" | 英語 |
"ja_jp" | 日本語 |
"id_id" | インドネシア語 |
接続フロー
エラー処理
初期化に失敗した場合、内部の接続リソースを解放して IDLE 状態に戻った後、例外を発生させます。
js
try {
await SDK.init(options);
} catch (error) {
// error.messageに失敗原因が含まれます
// "Failed to connect: ..." → SDKキー検証またはWebSocket接続失敗
// "Failed to connect streaming: ..." → ストリーミング接続失敗
// "Init failed: ..." → その他の段階で発生した初期化失敗
console.error(error.message);
}- init/destroy進行中に再呼び出しした場合、前の操作の完了を待ってから実行されます(Mutex直列化)。