一番使いやすい方法かと・・
RaspberryPiとかPythonとかを使って
GoogleHome(Chromecastデバイス)をしゃべらせる系の記事を色々調べました。
別途サーバー立てる必要なし!
コード中でサーバー運用する
事前にmp3ファイルを準備する必要なし!
そ(HTTPリクエスト)の都度、
mp3ファイルを生成 ➡ 時間がたったら削除
してくれる
環境
Windows 10 Pro
Anaconda 3
Python 3.7
Visual Studio Code
目的
Gist (SlashNephy様) からソースコードをコピーしてきて
Google Homeをしゃべらせよう!という試み。
現状
やったこと
- Anacondaで仮想環境構築
- 構築した仮想環境で pip install flask gtts pychromecast
- スクリプト走らせる
- FirefoxからURLにアクセス
結果
- Google Homeが「ジュルン♪」っていう(GoogleHomeのIPアドレスは合ってるね。)
- キャッシュにmp3ファイルを生成(プレーヤーで再生可能)
- mp3ファイルがGoogle Homeから再生されない
原因の究明活動
問題:mp3ファイルがGoogle Homeから再生されない
ブラウザからmp3ファイルにアクセスしようとすると、404。
※キャッシュ削除前に試行
この前はしゃべってたんだよなぁ~
おっかしいなぁ~~~
仮想環境なんか変えたっけ・・?
追記:なんかしゃべった
コードの18行目のdeviceの設定変えた。
device = pychromecast.Chromecast(ip_address)
.
もともとのコードがなぜ
device = next(x for x in pychromecast.get_chromecasts() if x.host == ip_address)
となっているのだろう?
私の環境だとエラーになってしまう。
IPアドレス特定して使用するのが前提なのだから、
if文の条件が真になるまでfor文の処理を行う必要はあるのだろうか?
(ifとforの処理内容も完全に理解してない)