我在asp.net下把一段文字转化为音频文件,是.wav格式的。转化后的声音是男的声音,我想换成女的声音,如何解决?我的代码是:
        Dim FileName As String
        Dim FileStream As New SpFileStream
        Dim Voice As SpVoice = New SpVoice
        FileName = "E:\test.wav"
        FileStream.Open(FileName, SpeechStreamFileMode.SSFMCreateForWrite, True)
        Voice.AudioOutputStream = FileStream
        Dim str As String = Trim(Me.TextBox1.Text)
        Voice.Speak(str, SpeechVoiceSpeakFlags.SVSFDefault)
        FileStream.Close()
        FileStream = Nothing
        Voice = Nothing

解决方案 »

  1.   

    我加了一句代码Speech.Voice = Speech.GetVoices.Item(0),在windowsapplication下就可以转化成女的声音,可是在webapplication下就不能转化,而且报错。
      

  2.   

    that is all, thank you! I get it.
      

  3.   

    我加了一句代码Speech.Voice = Speech.GetVoices.Item(0),在windowsapplication下就可以转化成女的声音,可是在webapplication下就不能转化,而且报错。why? what is the exception? 
    if it can run in windows application, you can compile it as a service/dll library, then call it in webapplication
      

  4.   

    一年前就打算做这个.可是不能用在web上.
      

  5.   

    我加了一句代码Speech.Voice = Speech.GetVoices.Item(0),在windowsapplication下就可以转化成女的声音,可是在webapplication下就不能转化,而且报错。
    --------------------------------------------------------------
    这个报什么错
      

  6.   

    我加了一句代码Speech.Voice = Speech.GetVoices.Item(0),在windowsapplication下就可以转化成女的声音,可是在webapplication下就不能转化,而且报错。__________________________________________________________________________________________正确的代码是:Speech.Voice = Speech.GetVoices.Item(1),就OK了,男的声音就变成了女的声音,呵呵。完整的转换代码是:各位觉得如有有点用处就收藏好了,毕竟这方面做的人比较少。
            Dim FileName As String
            Dim FileStream As New SpFileStream
            Dim Voice As SpVoice = New SpVoice
            FileName = "E:\test.wav"
            FileStream.Open(FileName, SpeechStreamFileMode.SSFMCreateForWrite, True)
            Voice.AudioOutputStream = FileStream
            Speech.Voice = Speech.GetVoices.Item(1)
            Dim str As String = Trim(Me.TextBox1.Text)
            Voice.Speak(str, SpeechVoiceSpeakFlags.SVSFDefault)
            FileStream.Close()
            FileStream = Nothing
            Voice = Nothing
      

  7.   

    我靠,楼主在故意哗众取宠吧。明明是windows form,在asp.net中来提这个问题。
      

  8.   

    我靠,楼主在故意哗众取宠吧。明明是windows form,在asp.net中来提这个问题。-------------------------------------------------------------------------
    绝对是webform,不是windowsform,当然了我的这段代码放在windowsform下也是能够运行通过的。
      

  9.   

    楼主,我也想问一下,这段程序可以在网页中使用吗?还是正如kisshere回复中提到的那样?
      

  10.   

    楼主,我也想问一下,这段程序可以在网页中使用吗?
    还是正如kisshere回复中提到的那样?
    ----------------------------------------------------------------
    如果你是开发web应用,如webservice,webapplication,那么完全可以使用,而且我开发的就是webapplication。如果你是单独作一个网页,那么可以使用脚本语言来写。至于脚本如何写,我没有代码,你可以去google或者msdn里面搜索关键字"TTS" or "text to wav"