Exemple #1
0
        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;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
 private void AudioEndpointChanged(AudioRoutingManager sender, object args)
 {
     Debug.WriteLine("[LinphoneManager] AudioEndpointChanged:" + sender.GetAudioEndpoint().ToString() + "\r\n");
 }
Exemple #4
0
        //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");
 }