private void SpeakSentence(object sender, EventArgs e) { if (sentenceBox.Items.Count == 0) { return; } List <string> wordList = new List <string>(sentenceBox.Items.Count); List <double> silenceList = new List <double>(sentenceBox.Items.Count); foreach (var v in sentenceBox.Items) { string word = v as string; wordList.Add(word); silenceList.Add(0.5); } WAVSound sentence = _synthesizer.GenerateWordSequence(wordList, silenceList); SoundPlayer soundPlayer = new SoundPlayer(); sentence.GenerateMemoryStream(); sentence.WAVMemoryStream.Position = 0; // Manually rewind stream soundPlayer.Stream = null; //TODO varför? soundPlayer.Stream = sentence.WAVMemoryStream; soundPlayer.Play(); }
public void fetchFromFeeds() { bool alertNew = false; for (int i = 0; i < rssDownloaderList.Count; i++) { RSSDownloader rssDownloader = rssDownloaderList[i]; List <SyndicationItem> syndicationItemList; if (lastPublishDate[i] == DEFAULT_DATE_TIME_OFFSET) { syndicationItemList = rssDownloader.TryGetAllItems(); } else { syndicationItemList = rssDownloader.TryGetItems(lastPublishDate[i]); } if (syndicationItemList == null) { //string url = rssDownloader.URL; string url = rssList[i]; System.Console.WriteLine("Download failed: \"" + url + "\""); continue; } // Update timestamp if (syndicationItemList.Count > 0) { foreach (SyndicationItem si in syndicationItemList) { if (ignoreKeywords || checkAgainstKeywordList(si.Title.Text)) { string dateTag = si.PublishDate.ToString("yyyy-MM-dd HH:mm:ss"); string itemText = dateTag + ": " + si.Title.Text; listBox.Items.Add(itemText); urlList.Add(si.Id); alertNew = true; } } lastPublishDate[i] = getLatestPublishDate(syndicationItemList); } } if (alertNew && _synthesizer != null) { List <string> wordList = new List <string>(2); List <double> silenceList = new List <double>(2); wordList.Add("new"); silenceList.Add(0.5); wordList.Add("alert"); silenceList.Add(0.5); WAVSound sentence = _synthesizer.GenerateWordSequence(wordList, silenceList); SoundPlayer soundPlayer = new SoundPlayer(); sentence.GenerateMemoryStream(); sentence.WAVMemoryStream.Position = 0; // Manually rewind stream soundPlayer.Stream = null; //TODO varför? soundPlayer.Stream = sentence.WAVMemoryStream; soundPlayer.Play(); } }