int eventCount = 0; //used in AudioEndpointChangedEvent private void OnAudioEndpointChanged(AudioRoutingManager sender, object args) { var currentEndpoint = sender.GetAudioEndpoint(); //when this event is initialized, it is invoked 2 times. //to avoid changing the device at that time, we use this statement. if (eventCount > 1) { SharedLogic.Player.ChangeDevice(currentEndpoint.ToString()); } //increase the event count eventCount += 1; }
private int eventCount = 0; //used in AudioEndpointChangedEvent private async void OnAudioEndpointChanged(AudioRoutingManager sender, object args) { var currentEndpoint = sender.GetAudioEndpoint(); //when this event is initialized, it is invoked 2 times. //to avoid changing the device at that time, we use this statement. if (eventCount > 1) { BLogger.I($"Switching audio render device to [{currentEndpoint.ToString()}]."); await SharedLogic.Instance.Player.ChangeDevice(currentEndpoint.ToString()); } //increase the event count eventCount += 1; }
private void AudioEndpointChanged(AudioRoutingManager sender, object args) { Debug.WriteLine("[LinphoneManager] AudioEndpointChanged:" + sender.GetAudioEndpoint().ToString() + "\r\n"); }
//code to create new tiles - can be used for preset pinning and directly tuning into radio stations. //private void pinPrimaryTile(object sender, EventArgs e) //{ // StandardTileData standardTileData = new StandardTileData(); // ShellTile tileToPin = ShellTile.ActiveTiles.FirstOrDefault(x => x.NavigationUri.ToString().Contains("MainPage.xaml")); // standardTileData.Title = "fmRadio"; // standardTileData.BackgroundImage = new Uri("/Assets/Tiles/FlipCycleTileMedium.png", UriKind.Relative); // if (tileToPin == null) // { // ShellTile.Create(new Uri("/MainPage.xaml", UriKind.Relative), standardTileData); // } // else // { // MessageBox.Show("Application tile is already pinned"); // } //} public void AudioEndpointChanged_Handler(AudioRoutingManager sender, object args) { string title = AppResources.NoAntenna; string msg = AppResources.NoAntennaErrorMessage; if (IsolatedStorageSettings.ApplicationSettings.Contains("language")) { var languageKey = IsolatedStorageSettings.ApplicationSettings["language"].ToString(); switch (languageKey) { case App.Languages.English: title = "No Antenna"; msg = "Your headphones are used as an FM radio antenna. To listen to the radio, connect your headphones."; break; case App.Languages.Turkce: title = "Anten Yok"; msg = "Kulaklığınız FM radyo anteni olarak kullanılmaktadır. FM radyo dinleyebilmek için kulaklık takınız."; break; } } var AudioEndPoint = sender.GetAudioEndpoint(); switch (AudioEndPoint) { case AudioRoutingEndpoint.Default: case AudioRoutingEndpoint.Earpiece: case AudioRoutingEndpoint.Speakerphone: case AudioRoutingEndpoint.Bluetooth: case AudioRoutingEndpoint.BluetoothWithNoiseAndEchoCancellation: { isJackPlugged = false; Dispatcher.BeginInvoke(() => { MessageBox.Show(msg, title, MessageBoxButton.OK); }); break; } case AudioRoutingEndpoint.WiredHeadset: { isJackPlugged = true; break; } case AudioRoutingEndpoint.WiredHeadsetSpeakerOnly: { isJackPlugged = true; break; } default: throw new ArgumentOutOfRangeException(); } if (!isJackPlugged) { Dispatcher.BeginInvoke(() => { playButtonImage.Source = new BitmapImage(new Uri(@"Assets/AppBar/transport.play.png", UriKind.RelativeOrAbsolute)); }); } }
private void AudioEndpointChanged(AudioRoutingManager sender, object args) { Logger.Msg("[LinphoneManager] AudioEndpointChanged:" + sender.GetAudioEndpoint().ToString() + "\r\n"); }