メインコンテンツまでスキップ

ブラウザ対応と手動確認

GlyphFlowの初期対応対象は、単語境界イベントを返すvoiceを使ったDesktop Chrome・英語テキストです。voiceの挙動はOSやインストールされているvoiceにも依存します。

環境状態想定される挙動
Desktop Chrome、英語、単語境界あり初期対応対象ブラウザがvoiceを開始し境界を返す場合、音声と文字内部ワイプが動作します。
Desktop Chrome、単語境界なし制限あり音声は再生されても同期ワイプは使えません。終了時にunsupportedを通知します。
その他のDesktopブラウザ未検証Web Speechの挙動が異なるため、対象ブラウザとvoiceを手動確認してください。
モバイルブラウザ・英語以外v0.1対象外互換性を保証しません。

getSpeechSynthesisSupport()でWeb Speech APIがない環境を確認できます。ただし、APIが存在してもutteranceの開始に失敗する場合があります。GlyphFlowはブラウザのstartイベントを待ち、10秒以内に届かなければerrorを通知します。同期字幕には利用可能な単語境界も必要です。

Speech synthesisはブラウザ全体で共有されるキューです。cancel()はグローバルなspeechSynthesis.cancel()を呼ぶため、ページ内の別機能が開始した音声も停止する可能性があります。複数の音声機能を使うアプリケーションでは所有権を調整してください。

対象ブラウザとvoiceでnpm run demoを実行し、rate 1.0で次を確認してください。

確認項目期待結果
再生開始音声が聞こえ、状態がstartingからspeakingへ変わる。
単語内部の動き単語全体の点滅ではなく、各文字の中を色が連続的に進む。
Pause / Resume現在位置で止まり、再開後に急にジャンプしない。
テキストの忠実性繰り返し単語、句読点、空白、改行が保たれる。
境界なし計測同期を装わず、終了時にunsupportedになる。
開始失敗speakingのまま残らず、10秒後にerrorになる。