Android中使用自带TextToSpeech实现语音合成时Pico TTS引擎不能播放中文怎样解决

场景

Android中使用自带TextToSpeech实现离线语音合成功能:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109758116

在上面的文章中使用安卓自带的TTS能在形如荣耀、三星、小米、OPPO等手机上实现离线语音合成。

这依赖于手机的系统中的中文引擎,三星有自带的三星引擎,小米有自带的小爱同学语音引擎,

荣耀手机用的是讯飞语音引擎。

 

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

但是如果一个安卓系统中只有谷歌默认的Pico TTS则是不支持中文的合成与播报的。

可以依赖于第三方的中文引擎的安装,从而实现中文语音的播报。

这里以讯飞语记为例,在应用商店搜索并下载讯飞语记,下载后不需要登录,找到通用设置下的语音合成设置

 

然后点击语音合成设置

 

在这里可以设置语速与音效以及默认发音人,最主要的是要打开两个开关

合成系统接口和全局生效。

然后回到系统设置中找到文本转语音(TTS),一般在辅助功能或者无障碍下

 

然后点击首选引擎,此时就不会只有Pico TTS引擎了。

选择上面安装的讯飞语记作为首选引擎。

记得要将此时系统的语言设置为中文简体。

然后就可以使用TextToSpeech进行离线语音合成了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 Unity 引擎使用 Pico VR 开发,可以通过监听 Pico 手柄的输入按钮事件来触发天空盒的切换。下面是一个简单的示例代码: 1. 首先,确保你已经导入了 Pico SDK,并按照官方文档的指示进行了设置。 2. 创建一个脚本并将其添加到一个适当的游戏对象上。 3. 在脚本,你可以使用 `Update()` 方法来监听手柄的输入按钮事件。可以通过 `Pvr_ControllerManager` 类来获取手柄输入事件。 ```csharp using Pvr_UnitySDKAPI; using UnityEngine; public class SkyboxController : MonoBehaviour { public Material skyboxMaterial1; public Material skyboxMaterial2; void Update() { if (Pvr_ControllerManager.Instance.Length > 0) { // 获取手柄输入事件 if (Pvr_ControllerManager.Instance.GetControllerButtonUp(0, Pvr_Button.APP)) { // 切换天空盒贴图的逻辑 SwitchSkybox(); } } } void SwitchSkybox() { // 根据当前贴图切换到另一个贴图 if (RenderSettings.skybox == skyboxMaterial1) { RenderSettings.skybox = skyboxMaterial2; } else { RenderSettings.skybox = skyboxMaterial1; } } } ``` 4. 将天空盒材质赋值给 `skyboxMaterial1` 和 `skyboxMaterial2`。这两个材质将在切换进行交替使用。 5. 将脚本组件添加到天空盒对象上或者任何你希望进行天空盒切换的对象上。 通过以上步骤,你可以在 Pico VR 监听手柄的特定按钮事件,并在用户按下按钮触发天空盒的切换。根据你的具体需求,你可以扩展脚本的功能,例如切换更多的天空盒材质、实现过渡效果等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值