Awesome
SharpCaster
Currently Supported Platforms
SharpCaster is Chromecast C# SDK any platform support .net standard 2.0.
The nuget package
https://nuget.org/packages/SharpCaster/
PM> Install-Package SharpCaster
Getting started
Finding chromecast devices from network
IChromecastLocator locator = new MdnsChromecastLocator();
var source = new CancellationTokenSource(TimeSpan.FromMilliseconds(1500));
var chromecasts = await locator.FindReceiversAsync(source.Token);
Connecting to chromecast device, launch application and load media
var chromecast = chromecasts.First();
var client = new ChromecastClient();
await client.ConnectChromecast(chromecast);
_ = await client.LaunchApplicationAsync("B3419EF5");
var media = new Media
{
ContentUrl = "https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4"
};
_ = await client.MediaChannel.LoadAsync(media);
SharpCaster Demo
Adding support for custom chromecast channels
- In Chrome, go to
chrome://net-export/
- Select 'Include raw bytes (will include cookies and credentials)'
- Click 'Start Logging to Disk'
- Open a new tab, browse to your favorite application on the web that has Chromecast support and start casting.
- Go back to the tab that is capturing events and click on stop.
- Open https://netlog-viewer.appspot.com/ and select your event log file.
- Browse to https://netlog-viewer.appspot.com/#events&q=type:SOCKET, and find the socket that has familiar JSON data.
- Go through the results and collect the JSON that is exchanged.
- Now you can create a new class that inherits from ChromecastChannel and implement the logic to send and receive messages.