Google Homeを活用を模索するなか、Google Home は chromecast のスピーカーでもあるので、パソコンからchromecastの制御の記事を探してみた。
すると、pychromecast の記事を発見。
$ sudo aptitude install python-pychromecast
記事を参考に python script をコピペしたけど開発がすすんで関数名などが変更となっているようで、github 側の記事をみてちょっとだけ修正。pythonをいつも使っていないので、chromecast の試行錯誤の前に、漢字コードの扱いの方で四苦八苦。
#!/usr/bin/python2 # -*- coding: utf-8 -*- from __future__ import print_function import sys import re import time import pychromecast #------ ddev = "" #------ args = sys.argv args.pop(0) dev = "" # device url = "" # chromecast URL mtype = "" # media type # コマンドライン引数からキャスト内容を取得 if len( args ) == 3 : dev, url, mtype = args elif len( args ) == 2 : dev, url, mtype = [ ddev ] + args elif len( args ) == 1 : dev = ddev url = args[0] if re.match( r'\.mp4$' , url ) : mtype = 'video/mp4' elif re.match( r'\.mp4$' , url ) : mtype = 'audio/mp3' elif re.match( r'\.jpg$' , url ) : mtype = 'image/jpeg' elif re.match( r'\.png$' , url ) : mtype = 'image/png' # デバイス一覧を取得 chromecasts = pychromecast.get_chromecasts() # 指定したデバイスを見つける cast = next( cc for cc in chromecasts if cc.device.friendly_name.encode( 'utf-8' ) == dev ) cast.wait() # キャスト開始 mc = cast.media_controller mc.play_media( url , mtype ) mc.block_until_active()