/SharpCaster

Chromecast C# SDK for Windows, Windows Phone, .NET 4.5.1, Xamarin.iOS and Xamarin.Android platforms.

Primary LanguageC#MIT LicenseMIT

Icon

SharpCaster

Currently Supported Platforms

  • .Net Framework 4.5.1
  • Xamarin.iOS Unified
  • Xamarin.Android
  • UWP 10+ (Windows 10 Universal Programs)

Build status

This project is on beta stage (There might be breaking changes and supported platforms might change)

SharpCaster is Chromecast C# SDK for Windows, Windows Phone, .NET 4.5.1, Xamarin.iOS and Xamarin.Android platforms.

The nuget package NuGet Status

https://nuget.org/packages/SharpCaster/

PM> Install-Package SharpCaster

Getting started

Finding chromecast devices from network

ObservableCollection<Chromecast> chromecasts = await ChromecastService.Current.StartLocatingDevices();
//If that does not return devices on desktop then you can use this, Where 192.168.1.2 is your machines local ip
ObservableCollection<Chromecast> chromecasts = await ChromecastService.Current.StartLocatingDevices("192.168.1.2);

Connecting to chromecast device, launch application and load media

var chromecast = chromecasts.First();
SharpCasterDemoController _controller;
ChromecastService.Current.ChromeCastClient.ConnectedChanged += async delegate { if (_controller == null)_controller = await ChromecastService.Current.ChromeCastClient.LaunchSharpCaster(); };
ChromecastService.Current.ChromeCastClient.ApplicationStarted += 
async delegate { 
	while (_controller == null)
	{
		await Task.Delay(500);
	}

	await _controller.LoadMedia("https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4", "video/mp4");
};
ChromecastService.Current.ConnectToChromecast(chromecast);

SharpCaster Simple

SharpCaster Simple demo

Contributing

Contributing is encouraged! Please submit pull requests, open issues etc. However, to ensure we end up with a good result and to make my life a little easier, could I please request that;

  • All changes be made in a feature branch, not in master, and please don't submit PR's directly against master.

Thanks! I look forward to merge your contribution.