Question

Je travaille sur un programme qui comprend la synthèse de la parole. Il y a quelques semaines, je l'ai écrit l'introduction

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

. Il fonctionnait très bien. Je biffé « la synthèse vocale de recherche » de ma liste des tâches et passé à d'autres parties du projet.

Maintenant, j'écris un véritable programme, et d'essayer d'utiliser ce même bloc de base de code. Cependant, il est maintenant l'appel échoue de s.SetOutputToWaveFile. Il jette un PlatformNotSupportedException, avec le message suivant: «Pas de voix installée sur le système ou pas disponible avec le paramètre de sécurité actuel »

Je suis sur Vista 32 bits. Pour autant que je peux dire, les deux programmes ont les mêmes paramètres du compilateur. Notez que ceci est une application Winforms, et non ASP.Net ou quoi que ce soit en partie confiance. Je me suis arrêté le programme original dans une autre instance de Visual Studio, et il fonctionne encore très bien.

Toutes les idées?

Modifier, 11/9/09:

J'ai ajouté une prime, et maintenant même que ce programme:

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

échoue. Je devine qu'il ya une permission ou quelque chose que je dois mettre, mais je ne le trouve pas. Mon autre programme -. Le programme initial de base, qui fait exactement la même chose que ce nouveau, fonctionne toujours

Était-ce utile?

La solution

Pouvez-vous comparer avec WinDiff fichier à la fois .csproj et regarder si elles utilisent les mêmes choses pour les références?

Peut-être que l'un utilise un fichier local (dans son propre sous-répertoire) tandis que l'autre utilisation d'un fichier système?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top