Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 00:50   #1
Pti44ka
Пользователь
 
Аватар для Pti44ka
 
Регистрация: 02.09.2009
Сообщений: 56
По умолчанию добавить голос

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SpeechLib;

3.2. Add description of base object SAPI (SpVoice m_voice):

Код:
public partial class Form1 : Form
{
        SpVoice m_voice;

        public Form1()
        {
            InitializeComponent();
        }
………………………………………………..

3.3. Double click on tab Designer and write following program code:

Код:
private void Form1_Load(object sender, EventArgs e)
{
 m_voice = new SpVoice();
 m_voice.EndStream += new 
 _ISpeechVoiceEvents_EndStreamEventHandler(m_voice_EndStream);

     foreach (ISpeechObjectToken t in m_voice.GetVoices("", ""))
             {
                cbVoices.Items.Add(t.GetAttribute("Name"));
             }
           
}
//Подія "кінець відтворення".
Код:
private void m_voice_EndStream(int StreamNumber, object StreamPosition)
{
  btnSpeak_Click(null, null);
}
3.4. Double click on button “Reproduce” and write following program code:

Код:
//Reproduce text by voice.
private void btnSpeak_Click(object sender, EventArgs e)
{
  if ((Convert.ToInt32(btnSpeak.Tag) == 0) &&  (sender != null))
     {
       btnSpeak.Tag = 1;
       btnSpeak.Text = "Stop";

       try
          {
           if (cbVoices.Text.Length > 0)
              {
                m_voice.Voice = m_voice.GetVoices(string.Format("Name={0}", cbVoices.Text), "Language=409").Item(0);
              }
                                                           
 m_voice.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);
                    
           }
       catch
           {
             MessageBox.Show("Error");
           }
       }
    else
       {
         btnSpeak.Tag = 0;
         btnSpeak.Text = "Reproduce";
         m_voice.Speak(null, (SpeechVoiceSpeakFlags)2);
         m_voice.Resume();
       }

 }
3.5. Double click on button “Exit” and write following program code:

Код:
//Exit.
private void btnExit_Click(object sender, EventArgs e)
{
  this.Close();
}
3.6. Double click on track bar under text label “Volume” and write following program code:
Код:
//Voiume changing.
private void Volume_Scroll(object sender, EventArgs e)
{
  m_voice.Volume = Volume.Value;
}
3.7. Double click on track bar under text label “Speed” and write following program code:
Код:
//Speed changing.
private void Rate_Scroll(object sender, EventArgs e)
{
  m_voice.Rate = Rate.Value;
}
Properties control elements for interface

comboBox1 - cbVoices. В combobox1 находятся все языки, которыми можно озвучить текст.

Помогите, пожалуйста, добавить еще пару голосов. Говорит у меня пока только голосом Microsoft Anna. Скачала другие голоса, но не получается изменить код,чтобы заговорило на многих языках.

Последний раз редактировалось Pti44ka; 20.05.2010 в 00:53.
Pti44ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
авто голос Alex2009 Фриланс 5 13.11.2009 17:39
Голос в текст на С++/Делфи [M]en Помощь студентам 7 26.03.2009 03:22
Голос Andr Общие вопросы Delphi 6 17.06.2007 17:02
Как убрать голос из песни? Ильич Мультимедиа в Delphi 20 30.05.2007 07:04
Добавить поле yulia БД в Delphi 2 12.05.2007 14:12