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 { } } } }