MutationObserverとSpeechSynthesisを使うシンプルな方法が既に紹介されていたが動作が不安定だったのでChrome拡張として自分で作り直した。
SpeechSynthesisに長文を連続で送りつけると読み上げが止まってブラウザの再起動が必要になる。この辺りは中で呼んでいるAPIの仕様の領域なのでまだよくわかっていないが、TLの流速に合わせて調節する必要がありそうだ。
TweetDeckのページ全体がJavaScriptによって動的に生成されているので、ページの読み込みのあとにMutationObserverのターゲットを指定する必要がある。愚直にsetTimeoutを使った。新しいツイートの受信以外にもMutationObserverを発火させる要因がなにかあるようだが、まだわかっていない。
読み上げの内容についても、リプライは読むのか、ハッシュタグは読むのか、URLは読むのか、画像はどうするのかなど使い方に応じて検討すべき点がある。これらは設定で変えられるようにしたい。
初めまして、
「Tweetdeck 読み上げ」検索してきました
早速ダウンロード、使用して、
Tweetdeck がしゃべることに感動してます!
更新で、いろいろよくなるよう期待してます
Android や、iosなどモバイル版できないでしょうか
はじめまして。使ってくださってありがとうございます。
Google Chromeが提供している読み上げ機能は自由度が低いので限界はありますが、たまには機能追加しようと思います。
モバイル版はたぶん無理です。調べてみます。