media.chromecast
#
- class platypush.plugins.media.chromecast.MediaChromecastPlugin(chromecast=None, *args, **kwargs)[source]#
Bases:
MediaPlugin
Plugin to interact with Chromecast devices
Supported formats:
HTTP media URLs
YouTube URLs
Plex (through
media.plex
plugin, experimental)
Requires:
pychromecast (
pip install pychromecast
)
- __init__(chromecast=None, *args, **kwargs)[source]#
- Parameters:
chromecast (str) – Default Chromecast to cast to if no name is specified
- disconnect(chromecast=None, timeout=None, blocking=True)[source]#
Disconnect a Chromecast and wait for it to terminate
- Parameters:
chromecast (str) – Chromecast to cast to. If none is specified, then the default configured Chromecast will be used.
timeout (float) – Number of seconds to wait for disconnection (default: None: block until termination)
blocking (bool) – If set (default), then the code will wait until disconnection, otherwise it will return immediately.
- get_chromecasts(tries=2, retry_wait=10, timeout=60, blocking=True, callback=None)[source]#
Get the list of Chromecast devices
- Parameters:
tries (int) – Number of retries (default: 2)
retry_wait (int) – Number of seconds between retries (default: 10 seconds)
timeout (int) – Timeout before failing the call (default: 60 seconds)
blocking (bool) – If true, then the function will block until all the Chromecast devices have been scanned. If false, then the provided callback function will be invoked when a new device is discovered
callback (func) – If blocking is false, then you can provide a callback function that will be invoked when a new device is discovered
- join(chromecast=None, timeout=None)[source]#
Blocks the thread until the Chromecast connection is terminated.
- mute(chromecast=None)[source]#
Toggle the mute status on the Chromecast
- Parameters:
chromecast (str) – Chromecast to cast to. If none is specified, then the default configured Chromecast will be used.
- play(resource, content_type=None, chromecast=None, title=None, image_url=None, autoplay=True, current_time=0, stream_type='BUFFERED', subtitles=None, subtitles_lang='en-US', subtitles_mime='text/vtt', subtitle_id=1)[source]#
Cast media to a visible Chromecast
- Parameters:
resource (str) – Media to cast
content_type (str) – Content type as a MIME type string
chromecast (str) – Chromecast to cast to. If none is specified, then the default configured Chromecast will be used.
title (str) – Optional title
image_url (str) – URL of the image to use for the thumbnail
autoplay (bool) – Set it to false if you don’t want the content to start playing immediately (default: true)
current_time (int) – Time to start the playback in seconds (default: 0)
stream_type (str) – Type of stream to cast. Can be BUFFERED (default), LIVE or UNKNOWN
subtitles (str) – URL of the subtitles to be shown
subtitles_lang (str) – Subtitles language (default: en-US)
subtitles_mime (str) – Subtitles MIME type (default: text/vtt)
subtitle_id (int) – ID of the subtitles to be loaded (default: 1)
- quit(chromecast=None)[source]#
Exits the current app on the Chromecast
- Parameters:
chromecast (str) – Chromecast to cast to. If none is specified, then the default configured Chromecast will be used.
- reboot(chromecast=None)[source]#
Reboots the Chromecast
- Parameters:
chromecast (str) – Chromecast to cast to. If none is specified, then the default configured Chromecast will be used.