2
    private void ReadText(string text)
    {
        string add = "http://translate.google.com/translate_tts?tl=ta&q=";
        add += HttpUtility.UrlEncode(text, Encoding.GetEncoding("utf-8"));
        try
        {
            using (var client = new WebClient())
            {
                try
                {
                    client.Headers[HttpRequestHeader.UserAgent] =
                        "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1";                                            }
                catch
                {
                    MessageBox.Show("Intenet error");
                }

                try
                {                        
                    client.DownloadFile(add, "mp3CriationTest.mp3");
                }
                catch 
                {
                    MessageBox.Show("NAudio Error");
                }
            }
        }
        catch (WebException e3)
        {
            MessageBox.Show("ReadText error: " + e3);

        }
    }

私はnAudioを使用してGoogleのテキスト読み上げ(tts)を行っています。このコードは、Visual Studio デバッグ (F5) で実行すると、はるかにうまく機能します。しかし、セットアップ ファイルを作成すると、「NAudio Error」という例外メッセージが表示されます。したがって、セットアップのアプリケーションフォルダーに「mp3CriationTest.mp3」を保存/作成する際に問題があることは明らかです。しかし、デバッグ フォルダに "mp3CriationTest.mp3" を作成すると、Visual Studio のデバッグ (F5) を使用すると問題なく動作します。誰が問題が何であったかを知ることができますか? 助けてください。

4

1 に答える 1

3

管理者権限を持っていない限り、プログラム ファイル フォルダーに直接書き込むことはできません。ファイルをアプリケーション データ フォルダー (環境指定) に保存できます。お気に入り

string fileName = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\" + "mp3test.mp3";
client.DownloadFile(add, fileName);
于 2013-07-26T15:36:40.047 に答える