安卓屏播放语音失败,报错TextToSpeech: speak failed: not bound to TTS engine

最近碰到一个很棘手的问题,无缘无故,之前在Android9.0跑得好好的程序,升级安装系统到Android13后,就发现之前能放的语音,现在放不了了,真是头大,所以我摸索着尝试解决,且看我的解决过程。

一、事件起因

楼主准备在安卓屏上播放语音,使用的是文字转语音功能,起初是发现不播放,而且通过日志查看,初始化失败(报错:AndroidJavaException: java,lang,ClassNotFoundException: com,unity3d,player.UnityAndndroid)

jc = new AndroidJavaClass("com.unity3d.player.UnityAndAndroid");

在网上找了半天也没找到合适的方法,后来就根据日志指引,在打包的工程查看对应路径下是否有UnityAndndroid.class这个文件,发现果然没有,所以我果断丢了一个进去,再出一个apk,发现奇迹般的就可以了

二、speak failed问题

这个问题很多人都碰到过,但是并没有很全面的解决方案。我经过查找发现有以下思路可以协助解决。调用方式如下,功能是中文转语音,调用TTS底层接口实现的。

if (jc != null)
{
     jc.CallStatic("UnitySound", value);
}
else
{
     Debug.Log("SendSound jc is null!");
}

解决方法如下:

1.检查屏是否支持TTS引擎

检查TTS引擎是否安装并启用。如果不支持,需要下载一个安装apk进行

2.检查权限是否申请

找到AndroidManifest.xml文件添加权限许可

<uses-permission android:name="android.permission.INTERNET"/>

3.添加aidl请求queries节点配置

最后再出一个apk,验证后问题解决了。

这个问题可能是由于没有正确设置TTS引擎导致的。您可以尝试以下步骤来解决此问题: 1. 确认您的设备上已经安装了TTS引擎。您可以在“设置”中找到“语音输入和输出”选项,检查您的TTS引擎是否已启用。 2. 如果您的设备上没有TTS引擎,您可以在Google Play商店中搜索并下载TTS引擎。 3. 如果您的设备上已安装TTS引擎,请确保它已启用。您可以在“设置”中找到“语音输入和输出”选项,检查您的TTS引擎是否已启用。 4. 如果您已经安装和启用了TTS引擎,但仍然遇到问题,请尝试清除TTS引擎的缓存和数据。您可以在“设置”中找到“应用程序”选项,找到您的TTS引擎并清除其缓存和数据。 5. 最后,请确保您的应用程序有权限使用TTS引擎。您可以在您的应用程序清单文件中添加以下权限: ``` <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.READ_LOGS"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="com.android.vending.BILLING"/> <uses-permission android:name="android.permission.GET_TASKS"/> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"/> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> <uses-permission android:name="android.permission.WRITE_SETTINGS"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/> <uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/> <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/> <uses-permission android:name="android.permission.RECORD_VIDEO"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/> <uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY"/> <uses-permission android:name="android.permission.FLASHLIGHT"/> <uses-permission android:name="android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND"/> <uses-permission android:name="android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND"/> ``` 希望这些步骤可以帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大侠后花园

如果觉得文章不错请给点支持吧

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

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

打赏作者

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

抵扣说明:

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

余额充值