| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import pychromecast
- import time
- class ccast:
- def __init__(self,name):
- if type(name) == 'list':
- if len(name) <= 0:
- self.chromecasts, slef.browser = pychromecast.get_chromecasts()
- else:
- self.chromecasts, self.browser = pychromecast.get_listed_chromecasts(friendly_names=name)
- else:
- if len(name) >= 0:
- self.chromecasts, self.browser = pychromecast.get_chromecasts()
- else:
- lst = []
- lst.append(name)
- self.chromecasts, self.browser = pychromecast.get_listed_chromecasts(friendly_names=lst)
- def getCasts(self):
- return self.chromecasts
- def play(self,uri,cast):
- #check if mdeium finished ?
- cast.wait()
- print('ready to cast')
- cast.media_controller.play_media(uri, "video/mp4")
- player_state = None
- t = 30
- has_played = False
- while True:
- if player_state != cast.media_controller.status.player_state:
- player_state = cast.media_controller.status.player_state
- print("Player state:", player_state)
- if player_state == "PLAYING":
- has_played = True
- if cast.socket_client.is_connected and has_played and player_state != "PLAYING":
- has_played = False
- cast.media_controller.play_media(uri, "video/mp4")
- time.sleep(0.1)
- t = t - 0.1
- # Shut down discovery
- pychromecast.discovery.stop_discovery(browser)
|