public async Task <MediaStatus> LoadMedia( ChromecastApplication application, Uri mediaUrl, string contentType, CancellationToken token, IMetadata metadata = null, string streamType = "BUFFERED", double duration = 0D, object customData = null, Track[] tracks = null, int[] activeTrackIds = null, bool autoPlay = true, double currentTime = 0D) { int requestId = RequestIdProvider.Next; var mediaObject = new MediaData(mediaUrl.ToString(), contentType, metadata, streamType, duration, customData, tracks); var req = new LoadRequest(requestId, application.SessionId, mediaObject, autoPlay, currentTime, customData, activeTrackIds); var reqJson = req.ToJson(); var requestCompletedSource = await AddRequestTracking(requestId, token).ConfigureAwait(false); await Write(MessageFactory.Load(application.TransportId, reqJson), token).ConfigureAwait(false); return(await requestCompletedSource.Task.WaitOnRequestCompletion(token).ConfigureAwait(false)); }
private async void Client_ApplicationStarted(object sender, ChromecastApplication e) { while (_controller == null) { await Task.Delay(500); } await _controller.LoadMedia(SWYH.App.CurrentInstance.swyhDevice.ContentDirectory.GetWasapiUris(Audio.AudioFormats.Format.Mp3).FirstOrDefault(), null, null, "BUFFERED", 0D, null); }
private static async void Client_ApplicationStarted(object sender, ChromecastApplication e) { System.Console.WriteLine($"Launched {e.DisplayName}"); while (_controller == null) { await Task.Delay(500); } await _controller.LoadMedia("https://iqmeta.com/chikalicka_bing.mp3", "audio/mp3", null, StreamType.BUFFERED); }
private async Task <MediaStatus> SendAsync(IMessageWithId message, ChromecastApplication application) { try { return((await SendAsync <MediaStatusMessage>(message, application.TransportId)).Status?.FirstOrDefault()); } catch (Exception) { Status = null; throw; } }
private async void ChromeCastClient_ApplicationStarted(object sender, ChromecastApplication e) { if (controller == null) { controller = await ChromecastService.ChromeCastClient.LaunchSharpCaster(); } applicationStarted = true; if (connectToUrl != "") { await controller.LoadMedia(connectToUrl, "video/mp4", null, "BUFFERED", 0D, null, null, null, true, timeStamp); mediaLoaded(); } }
private async Task <MediaStatus> LoadMedia(ChromeCastClient client, ChromecastApplication defaultApplication, CancellationToken cancellationToken) { Trace.WriteLine(Invariant($"Loading Media [{playUri}] in on Chromecast {device.Name}")); var metadata = new GenericMediaMetadata() { title = "Homeseer", metadataType = SharpCaster.Models.Enums.MetadataType.GENERIC, }; var mediaStatus = await client.MediaChannel.LoadMedia(defaultApplication, playUri, null, cancellationToken, metadata : metadata, duration : duration.HasValue?duration.Value.TotalSeconds : 0D).ConfigureAwait(false); Trace.WriteLine(Invariant($"Loaded Media [{playUri}] in on Chromecast {device.Name}")); return(mediaStatus); }
private static async void Client_ApplicationStarted(object sender, ChromecastApplication e) { System.Console.WriteLine($"Application {e.DisplayName} has launched"); var track = new Track { Name = "English Subtitle", TrackId = 100, Type = "TEXT", SubType = "captions", Language = "en-US", TrackContentId = "https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/tracks/DesigningForGoogleCast-en.vtt" }; while (_controller == null) { await Task.Delay(500); } await _controller.LoadMedia("https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4", "video/mp4", null, "BUFFERED", 0D, null, new[] { track }, new[] { 100 }); }
private async void ApplicationStarted(object sender, ChromecastApplication e) { await LoadMedia(Title); }
private void Client_ApplicationStarted(object sender, ChromecastApplication e) { throw new NotImplementedException(); }