private async void addReceivers()
        {
            try
            {
                receivers = await new DeviceLocator().FindReceiversAsync();

                foreach (var receiver in receivers)
                {
                    GoogleReceiverItem item = new GoogleReceiverItem
                    {
                        Text = receiver.FriendlyName,
                        Id   = receiver.Id
                    };
                    this.Invoke((MethodInvoker) delegate
                    {
                        int index = comboBoxGoogleCastReceivers.Items.Add(item);
                        if (receiver.Id == Properties.Settings.Default.defaultCastDevice)
                        {
                            comboBoxGoogleCastReceivers.SelectedIndex = index;
                        }
                    });
                }
            }
            catch { }
        }
        private void comboBoxGoogleCastReceivers_SelectedIndexChanged(object sender, EventArgs e)
        {
            GoogleReceiverItem item = comboBoxGoogleCastReceivers.SelectedItem as GoogleReceiverItem;

            if (item != null)
            {
                Properties.Settings.Default.defaultCastDevice = item.Id.ToString();
            }
            Properties.Settings.Default.Save();
        }
        private async void buttonToSpeech_Click(object sender, EventArgs e)
        {
            if (textBoxToSpeech.Text != "")
            {
                var          castSender       = new Sender();
                LanguageItem selectedLanguage = comboBoxVoiceLanguages.SelectedItem as LanguageItem;
                VoiceItem    selectedVoice    = comboBoxVoice.SelectedItem as VoiceItem;

                if (selectedLanguage == null || selectedVoice == null || comboBoxGender.Text == null)
                {
                    return;
                }

                string speechAudioFile = text_to_mp3(textBoxToSpeech.Text, googleCloudChannel, selectedLanguage.Id.ToString(), comboBoxGender.Text, selectedVoice.ToString());

                GoogleReceiverItem googleReceiverItem = new GoogleReceiverItem();

                googleReceiverItem = comboBoxGoogleCastReceivers.SelectedItem as GoogleReceiverItem;

                var receivers = await new DeviceLocator().FindReceiversAsync();

                googleHomeReceiver = findReceiverById(googleReceiverItem.Id);

                if (googleHomeReceiver != null)
                {
                    await castSender.ConnectAsync(googleHomeReceiver);

                    var mediaChannel = castSender.GetChannel <IMediaChannel>();
                    await castSender.LaunchAsync(mediaChannel);

                    string url = "http://" + labelIPAddress.Text + ":" + Properties.Settings.Default.webServerPort + "/cast/" + speechAudioFile;


                    try
                    {
                        var mediaStatus = await mediaChannel.LoadAsync(new MediaInformation()
                        {
                            ContentId = url
                        });
                    }
                    catch
                    { }
                }
            }
        }