Pregunta

Estoy trabajando en un programa que incluye la síntesis de voz. Hace unas semanas, escribí la introducción

    using (SpeechSynthesizer s = new SpeechSynthesizer())
    {
        s.SetOutputToWaveFile("file.wav");
        s.Speak(textBox1.Text);
    }

programa. Funcionó muy bien. Taché "la investigación de síntesis de voz" de mi lista de tareas y se trasladó a otras partes del proyecto.

Ahora estoy escribiendo un programa real, y tratando de utilizar este mismo bloque básico de código. Sin embargo, ahora se fallando en la llamada s.SetOutputToWaveFile. Se lanza una PlatformNotSupportedException, con el siguiente mensaje: "Ninguna voz instalado en el sistema o no disponible con la configuración de seguridad actual"

Estoy en Vista de 32 bits. Por lo que yo puedo decir, ambos programas tienen la misma configuración del compilador. Tenga en cuenta que esta es una aplicación de Windows Forms, y no ASP.Net o nada de confianza parcial. Me sacó el programa original en otra instancia de Visual Studio, y todavía funciona muy bien.

¿Alguna idea?

Editar, 11/9/09:

He añadido una recompensa, y ahora incluso sólo este programa:

static void Main(string[] args)
{
    using (SpeechSynthesizer ss = new SpeechSynthesizer())
    {
        ss.Speak("Hello There");
    }
}

falla. Supongo que hay algún permiso o algo que necesito fijar, pero no puedo encontrarlo. Mi otro programa -. El programa inicial, básico que hace exactamente lo mismo que este nuevo, todavía funciona

¿Fue útil?

Solución

Se puede comparar con WinDiff archivo tanto .csproj y buscar si utilizan la misma materia para las referencias?

Tal vez uno utiliza un archivo local (en su propio subdirectorio), mientras que el otro uso de un archivo de sistema?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top