C#调用window操系自带语音库与第三方语音库System.Speech/SpeechSynthesizer(字符串转语音)

  • 开发工具:Visual Studio 2019 Preview

引用库:C#调用window操系自带语音库与第三方语音库System.Speech/SpeechSynthesizer(字符串转语音)_第1张图片

System.Speech,

使用的对象:SpeechSynthesizer

 

字符串转语音-语音播报

界面效果图:

C#调用window操系自带语音库与第三方语音库System.Speech/SpeechSynthesizer(字符串转语音)_第2张图片

C#调用window操系自带语音库与第三方语音库System.Speech/SpeechSynthesizer(字符串转语音)_第3张图片

C#调用window操系自带语音库与第三方语音库System.Speech/SpeechSynthesizer(字符串转语音)_第4张图片

第三方语音库:

不同语音库有不同的特性,或特性,有些字符有其对应的效果,比如某些分隔符可延迟后续播放词语间间隔(语顿)

某些语音库还富含语调,层次分明,效果真是

如:Neospeech中文女声Lily语音库,能朗读简繁体中文的语音库,支持对多音字,词组的语音处理,在朗读中可以调节语音速度和音量,使朗读更加柔和,流畅

只支持英文文字语音库:

 

SpeechSynthesizer对象的方法说明:

        private static SpeechSynthesizer speak = new SpeechSynthesizer();
        public static int volume = 100;//音量
        public static int rate = -3;//语速
        protected int tVolume;
        protected int tRate;
        protected String tSelectVoice;
        protected String tMessage;
        protected int operType;//1,播放,0停止,-1暂停,2,继续(恢复)

        public void speakPause(){
            //暂停
            speak.Pause();
        }

        public void speakResume()
        {
            //暂停后恢复
            speak.Resume();
        }

        public void speakAsyncCancelAll()
        {
            //取消语音阅读
            speak.SpeakAsyncCancelAll();
        }

speak.Volume = message.tVolume;//设置音量
                            speak.Rate = message.tRate;//设置语速
                            String voice = message.tSelectVoice;//设置语音库
                            String text = message.tMessage;
                            speak.SetOutputToDefaultAudioDevice();
                            speak.Speak(text);//播放内容

核心代码大概就这么多

你可能感兴趣的:(IT,程序员,开发)