private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => { connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; // Get the casting source from the MediaElement CastingSource source = null; try { // Get the casting source from the Media Element source = player.GetAsCastingSource(); // Start Casting CastingConnectionErrorStatus status = await connection.RequestStartCastingAsync(source); if (status == CastingConnectionErrorStatus.Succeeded) { player.Play(); } } catch { } }); }
private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => { try { //rootPage.NotifyUser(string.Format("Picker DeviceSelected event fired for device '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); DateTime t1 = DateTime.Now; DeviceInformation mydevice = await DeviceInformation.CreateFromIdAsync(args.SelectedCastingDevice.Id); DateTime t2 = DateTime.Now; TimeSpan ts = new TimeSpan(t2.Ticks - t1.Ticks); //System.Diagnostics.Debug.WriteLine(string.Format("DeviceInformation.CreateFromIdAsync took '{0} seconds'", ts.TotalSeconds)); //Create a casting conneciton from our selected casting device //rootPage.NotifyUser(string.Format("Creating connection for '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; // Get the casting source from the MediaElement CastingSource source = null; try { // Get the casting source from the Media Element source = player.GetAsCastingSource(); // Start Casting //rootPage.NotifyUser(string.Format("Starting casting to '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); CastingConnectionErrorStatus status = await connection.RequestStartCastingAsync(source); if (status == CastingConnectionErrorStatus.Succeeded) { player.Play(); //rootPage.NotifyUser(string.Format("Starting casting to '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); } } catch { //rootPage.NotifyUser(string.Format("Failed to get casting source for video '{0}'", video.Title), NotifyType.ErrorMessage); } } catch (Exception ex) { #if DEBUG System.Diagnostics.Debug.WriteLine(ex.Message); #endif } }); }
private void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { sender.CastingDevicePickerDismissed -= Picker_CastingDevicePickerDismissed; sender.CastingDeviceSelected -= Picker_CastingDeviceSelected; App.Dispatcher.RunWhenIdleAsync(async() => { MediaCastingConnection = args.SelectedCastingDevice.CreateCastingConnection(); MediaCastingConnection.StateChanged += Connection_StateChanged; MediaCastingConnection.ErrorOccurred += Connection_ErrorOccurred; await MediaCastingConnection.RequestStartCastingAsync(CurrentPlayer.GetAsCastingSource()); }); }
private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { //Casting must occur from the UI thread. This dispatches the casting calls to the UI thread. await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => { //Create a casting conneciton from our selected casting device CastingConnection connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; //Cast the content loaded in the media element to the selected casting device await connection.RequestStartCastingAsync(video.GetAsCastingSource()); }); }
private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { //Casting must occur from the UI thread. This dispatches the casting calls to the UI thread. await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => { //Create a casting conneciton from our selected casting device CastingConnection connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; //Cast the content loaded in the media element to the selected casting device await connection.RequestStartCastingAsync(video.GetAsCastingSource()); }); }
private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async() => { // The args.SelectedCastingDevice is proxied from the picker process. The picker process is // dismissmed as soon as you break into the debugger. Creating a non-proxied version // allows debugging since the proxied version stops working once the picker is dismissed. CastingDevice selectedDevice = await CastingDevice.FromIdAsync(args.SelectedCastingDevice.Id); //Create a casting conneciton from our selected casting device rootPage.NotifyUser(string.Format("Creating connection for '{0}'", selectedDevice.FriendlyName), NotifyType.StatusMessage); CastingConnection connection = selectedDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; // Get the casting source from the MediaElement CastingSource source = null; try { // Get the casting source from the Media Element source = player.GetAsCastingSource(); // Start Casting rootPage.NotifyUser(string.Format("Starting casting to '{0}'", selectedDevice.FriendlyName), NotifyType.StatusMessage); CastingConnectionErrorStatus status = await connection.RequestStartCastingAsync(source); if (status == CastingConnectionErrorStatus.Succeeded) { player.Play(); rootPage.NotifyUser(string.Format("Starting casting to '{0}'", selectedDevice.FriendlyName), NotifyType.StatusMessage); } } catch { rootPage.NotifyUser(string.Format("Failed to get casting source for video '{0}'", video.Title), NotifyType.ErrorMessage); } }); }
private async void CastingPicker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { CastingConnection connection = args.SelectedCastingDevice.CreateCastingConnection(); await connection.RequestStartCastingAsync(PlayingSound.MediaPlayer.GetAsCastingSource()); }
private async void CastingPicker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { //Casting must occur from the UI thread. This dispatches the casting calls to the UI thread. await DispatchManager.RunOnDispatcherAsync(async() => { //Create a casting connection from our selected casting device CastingConnection connection = args.SelectedCastingDevice.CreateCastingConnection(); //Cast the content loaded in the media element to the selected casting device await connection.RequestStartCastingAsync(MediaPlayerHost.CastingSource); }); }
private async void CastingPicker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { await Dispatcher.RunAsync( CoreDispatcherPriority.Normal, async() => { var connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events //connection.ErrorOccurred += Connection_ErrorOccurred; //connection.StateChanged += Connection_StateChanged; var videoSource = OnlinePlayer.MediaPlayer.GetAsCastingSource(); await connection.RequestStartCastingAsync(videoSource); } ); }
private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => { try { rootPage.NotifyUser(string.Format("Picker DeviceSelected event fired for device '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); //DateTime t1 = DateTime.Now; //DeviceInformation mydevice = await DeviceInformation.CreateFromIdAsync(args.SelectedCastingDevice.Id); //DateTime t2 = DateTime.Now; //TimeSpan ts = new TimeSpan(t2.Ticks - t1.Ticks); //System.Diagnostics.Debug.WriteLine(string.Format("DeviceInformation.CreateFromIdAsync took '{0} seconds'", ts.TotalSeconds)); //Create a casting conneciton from our selected casting device rootPage.NotifyUser(string.Format("Creating connection for '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; // Get the casting source from the MediaElement CastingSource source = null; try { // Get the casting source from the Media Element source = player.GetAsCastingSource(); // Start Casting rootPage.NotifyUser(string.Format("Starting casting to '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); CastingConnectionErrorStatus status = await connection.RequestStartCastingAsync(source); if (status == CastingConnectionErrorStatus.Succeeded) { player.Play(); rootPage.NotifyUser(string.Format("Starting casting to '{0}'", args.SelectedCastingDevice.FriendlyName), NotifyType.StatusMessage); } } catch { rootPage.NotifyUser(string.Format("Failed to get casting source for video '{0}'", video.Title), NotifyType.ErrorMessage); } } catch (Exception ex) { UnhandledExceptionPage.ShowUnhandledException(ex); } }); }
private async void Picker_CastingDeviceSelected(CastingDevicePicker sender, CastingDeviceSelectedEventArgs args) { await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () => { connection = args.SelectedCastingDevice.CreateCastingConnection(); //Hook up the casting events connection.ErrorOccurred += Connection_ErrorOccurred; connection.StateChanged += Connection_StateChanged; // Get the casting source from the MediaElement CastingSource source = null; try { // Get the casting source from the Media Element source = player.GetAsCastingSource(); // Start Casting CastingConnectionErrorStatus status = await connection.RequestStartCastingAsync(source); if (status == CastingConnectionErrorStatus.Succeeded) { player.Play(); } } catch { } }); }