Skip to content

Latest commit

 

History

History
59 lines (57 loc) · 2.08 KB

README.md

File metadata and controls

59 lines (57 loc) · 2.08 KB

Cool Soundsystem - Castinterface

Pythonowy demon do przesyłania informacji z i do hakerspejsowych urządzeń typu Google Chromecast.

Obecne funkcje:

  • Przesyłanie na serwer MQTT w temacie nazwa_urzadzenia/chromecast/status statusu urządzenia
    • przykładowy dump:
        {
        	"data": {
        		"is_active_input": null,
        		"is_stand_by": null,
        		"volume_level": 1,
        		"volume_muted": false,
        		"app_id": "85CDB22F",
        		"display_name": "Chrome Audio Mirroring",
        		"namespaces": [
        			"urn:x-cast:com.google.cast.webrtc",
        			"urn:x-cast:com.google.cast.media",
        			"urn:x-cast:com.google.cast.debug",
        			"urn:x-cast:com.google.cast.remoting"
        		],
        		"session_id": "d2d6e001-93f0-4228-942e-7000549e327f",
        		"transport_id": "d2d6e001-93f0-4228-942e-7000549e327f",
        		"status_text": "www.youtube.com (Tab)"
        	},
        	"online": true
        }
  • Przesyłanie na serwer MQTT w temacie nazwa_urzadzenia/chromecast/playing informacji o aktualnie granym utworze (w miarę możliwości - niektóre aplikacje dają bardzo mało danych)
    • przykładowy dump:
      {
    	"data": {
    		"current_time": 0,
    		"media_metadata": {
    			"metadataType": 0,
    			"title": ""
    		},
    		"subtitle_tracks": {},
    		"playback_rate": 1,
    		"media_custom_data": {},
    		"idle_reason": null,
    		"stream_type": "LIVE",
    		"player_state": "PLAYING",
    		"volume_level": 1,
    		"media_session_id": 0,
    		"content_type": "video/webm",
    		"duration": null,
    		"content_id": "",
    		"supported_media_commands": 0,
    		"current_subtitle_tracks": [],
    		"volume_muted": false
    	},
    	"online": true
    }
  • Wymianę informacji - ciągłe wysyłanie i nasłuchiwanie zmian w stanie w temacie nazwa_urzadzenia/chromecast/volume i w razie zmiany - ustawianie głośności urządzenia (pozwala to na np. embedowanie suwaka zmiany głośności na stronie internetowej)
  • Reagowanie na instrukcje pause i play na nazwa_urzadzenia/chromecast/pause