Exemple #1
0
        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();
        }
Exemple #2
0
        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();
            }
        }