3

私は音声合成を含むプログラムに取り組んでいます。数週間前、紹介文を書きました

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

プログラム。それはうまくいきました。タスク リストから「音声合成の研究」に取り消し線を引いて、プロジェクトの他の部分に進みました。

今、私は実際のプログラムを書いており、この同じ基本的なコード ブロックを使用しようとしています。ただし、現在はs.SetOutputToWaveFile通話に失敗しています。PlatformNotSupportedException をスローし、「システムに音声がインストールされていないか、現在のセキュリティ設定で使用できる音声がありません」というメッセージが表示されます。

私は32ビットのVistaを使用しています。私の知る限り、両方のプログラムのコンパイラ設定は同じです。これは Winforms アプリであり、ASP.Net や部分的に信頼されているものではないことに注意してください。Visual Studio の別のインスタンスで元のプログラムを取得しましたが、それでも問題なく動作します。

何か案は?

編集、11/9/09:

報奨金を追加しましたが、今ではこのプログラムだけでも:

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

失敗します。何らかの権限または設定する必要があるものがあると思いますが、見つかりません。私のもう 1 つのプログラム - この新しいプログラムとまったく同じことを行う最初の基本的なプログラムは、まだ動作します。

4

1 に答える 1

3

WinDiffと .csproj ファイルの両方を比較して、参照に同じものを使用しているかどうかを確認できますか?

1つはローカルファイル(自分のサブディレクトリ内)を使用し、もう1つはシステムファイルを使用するのでしょうか?

于 2009-11-09T17:03:45.640 に答える