cast.py
                        
                             · 1.2 KiB · Python
                        
                    
                    
                      
                        Raw
                      
                      
                        
                          
                        
                    
                    
                
                
            #!/usr/bin/env python
# requires pychromecast and probably python 2.7, sorry
import pychromecast
import argparse
def play_video(url, cast):
    if cast.media_controller.status.player_state == "PAUSED" or cast.media_controller.status.content_id == url:
        cast.media_controller.play()
    else:
        cast.play_media((url), "video/mp4")
def pause_video(cast):
    if cast.media_controller.status.supports_pause:
        cast.media_controller.pause()
    else:
        print "Cannot pause"
def stop_video(cast):
    cast.quit_app()
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("url", nargs="?", help="URL of media to play. Doesn't support local addresses yet. If no URL is supplied, plays paused video.")
    parser.add_argument("-p", "--pause", help="Pause playback", action='store_true')
    parser.add_argument("-s", "--stop", help="Stop playback", action='store_true')
    args = parser.parse_args()
    cast = pychromecast.get_chromecast()
    if not args.pause or not args.stop:
        play_video(args.url, cast)
        return
    elif args.pause:
        pause_video(cast)
        return
    elif args.stop:
        stop_video(cast)
        return
    print "Did nothing"
    return
if __name__ == "__main__":
    main()
                | 1 | #!/usr/bin/env python | 
| 2 | # requires pychromecast and probably python 2.7, sorry | 
| 3 | |
| 4 | import pychromecast | 
| 5 | import argparse | 
| 6 | |
| 7 | def play_video(url, cast): | 
| 8 | if cast.media_controller.status.player_state == "PAUSED" or cast.media_controller.status.content_id == url: | 
| 9 | cast.media_controller.play() | 
| 10 | else: | 
| 11 | cast.play_media((url), "video/mp4") | 
| 12 | |
| 13 | def pause_video(cast): | 
| 14 | if cast.media_controller.status.supports_pause: | 
| 15 | cast.media_controller.pause() | 
| 16 | else: | 
| 17 | print "Cannot pause" | 
| 18 | |
| 19 | def stop_video(cast): | 
| 20 | cast.quit_app() | 
| 21 | |
| 22 | def main(): | 
| 23 | parser = argparse.ArgumentParser() | 
| 24 | parser.add_argument("url", nargs="?", help="URL of media to play. Doesn't support local addresses yet. If no URL is supplied, plays paused video.") | 
| 25 | parser.add_argument("-p", "--pause", help="Pause playback", action='store_true') | 
| 26 | parser.add_argument("-s", "--stop", help="Stop playback", action='store_true') | 
| 27 | args = parser.parse_args() | 
| 28 | cast = pychromecast.get_chromecast() | 
| 29 | if not args.pause or not args.stop: | 
| 30 | play_video(args.url, cast) | 
| 31 | return | 
| 32 | elif args.pause: | 
| 33 | pause_video(cast) | 
| 34 | return | 
| 35 | elif args.stop: | 
| 36 | stop_video(cast) | 
| 37 | return | 
| 38 | print "Did nothing" | 
| 39 | return | 
| 40 | |
| 41 | if __name__ == "__main__": | 
| 42 | main() |