C#使用原生方法将文字朗读出来
最近在开发中需要将文字播报出来,虽然目前像百度腾讯这类大厂都提供有 API/SDK,但是都需要注册账号、申请 API/SDK 权限和最终上线正式使用。我参与的这项目是一个小项目,如果使用网上提供的开发 API/SDK 的话略嫌麻烦,并且需要联网(博主做的是 C/S 离线项目),经过翻阅微软文档发现了 .NET 内部已经提供了文字转语音的方法。下面我分享出来。.NET 内部提供的文字转语音方法位于 System.Speech.Synthesis 命名空间下,使用起来也比较简单,只需传入要朗读的内容即可。下面是使用代码:
复制代码
在上面的代码中我们将定义的 message 传入 SpeechSynthesizer 类的 SpeakAsync 方法里来实现阅读文字。其中 Volume 属性是用来设置朗读音量的,它的取值范围是[0-100],Rate 属性用来设置朗读速度,取值范围在[-10,10],值越小朗读速度约慢。这段代码只能在 .NET Framework 框架下运行,如果要在 .NET Core 、.NET5 和 .NET6 框架下运行的话,因为没有内置的文字朗读方法,因此我们仍需要调用第三方提供的文字朗读 API/SDK。
版权声明: 本文为 InfoQ 作者【喵叔】的原创文章。
原文链接:【http://xie.infoq.cn/article/74ec55678184edb091f2c5880】。未经作者许可,禁止转载。
评论