Pergunta

Eu estou trabalhando em um programa que inclui a síntese de voz. Algumas semanas atrás, eu escrevi o introdutória

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

programa. Funcionou muito bem. Cruzei off "de síntese de voz de pesquisa" da minha lista de tarefas e mudou-se para outras partes do projeto.

Agora eu estou escrevendo um programa real, e tentar usar esse mesmo bloco básico de código. No entanto, ele agora está falhando na chamada s.SetOutputToWaveFile. Ele lança uma PlatformNotSupportedException, com a seguinte mensagem: "Nenhuma voz instalado no sistema ou não disponível com a configuração de segurança atual"

Eu estou em 32-bit Vista. Tanto quanto eu posso dizer, ambos os programas têm as mesmas configurações do compilador. Note-se que este é um aplicativo WinForms, e não ASP.Net ou qualquer coisa parcialmente confiável. Puxei o programa original em outra instância do Visual Studio, e ainda funciona muito bem.

Todas as idéias?

Editar, 11/9/09:

Eu adicionei uma recompensa, e agora até mesmo este programa:

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

falha. Eu estou supondo que há algum permissão ou algo que eu preciso definir, mas eu não posso encontrá-lo. Meu outro programa -. O programa inicial, básica que faz exatamente o mesmo que este novo, ainda funciona

Foi útil?

Solução

Você pode comparar com WinDiff tanto arquivo .csproj e olhar se eles usam o mesmo material para as referências?

Talvez um uso um arquivo local (em seu próprio diretório sub), enquanto o outro uso um arquivo de sistema?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top