Android SDK 遇到的坑之讯飞语音合成

目录

一、讯飞在线语音合成

二、组件未安装.(错误码:21002)

2.1 Android 10 错误信息

2.2 Android 13 错误信息

三、错误分析

        3.1 没有使用SpeechUtility.createUtility()设置appid

   3.2 没有将libmsc.so放到工程中

往期推荐


一、讯飞在线语音合成

        应用需要做一个语音指引功能,根据调研选择集成讯飞-在线语音合成 Android SDK 文档

        语音合成是将一段文字转换为语音,可根据需要合成出不同音色、语速和语调的声音,让机器像人一样开口说话。

        集成步骤官方文档描述的挺清晰的,直接集成即可。

二、组件未安装.(错误码:21002)

2.1 Android 10 错误信息

loadLibrary msc error:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxxxx-U6Lzsb0J-4ytOTwo5rRkrQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.xxxxx-U6Lzsb0J-4ytOTwo5rRkrQ==/lib/arm64, /data/app/com.xxxxx-U6Lzsb0J-4ytOTwo5rRkrQ==/base.apk!/lib/arm64-v8a, /system/lib64, /system/product/lib64]]] couldn't find "libmsc.so"
init failed
组件未安装.(错误码:21002)
at com.iflytek.cloud.SpeechUtility.<init>(SourceFile:176)
at com.iflytek.cloud.SpeechUtility.createUtility(SourceFile:12)
at com.xxxxx.base.MyApplication.onCreate(MyApplication.java:37)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6859)
。。。。。               
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)

2.2 Android 13 错误信息

loadLibrary msc error:java.lang.UnsatisfiedLinkError: dlopen failed: library "libmsc.so" not found
组件未安装.(错误码:21002)
at com.iflytek.cloud.SpeechUtility.<init>(SourceFile:176)
at com.iflytek.cloud.SpeechUtility.createUtility(SourceFile:12)
at com.xxxxx.base.MyApplication.onCreate(MyApplication.java:37)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6859)
。。。。。               
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)

三、错误分析

        3.1 没有使用SpeechUtility.createUtility()设置appid

         SpeechUtility.createUtility(this, "appid=xxxx");

        在下方还有下载SDK以及Demo

   3.2 没有将libmsc.so放到工程中

        检查上图中这三个地方有没有异常情况。

        ①、未复制.so文件到项目,肯定会报错,找不到文件。

        ②、科大讯飞的语音合成只支持arm,如果使用的x86设备(如模拟器),并在ndk中配置了x86,肯定会报错。错误配置如下:

android {
    ...
    defaultConfig {
        ...
        ndk {
            // 设置支持的SO库架构
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64', 'x86'
        }
    }
    ...
}

        ③、这里的jniLibs是一个特定的配置,专门用于JNI/NDK库,它告诉Gradle在编译或运行时去哪里查找这些库文件。如果你不告诉Gradle去哪里找,等于没导入.so文件,因此也会报错。

往期推荐

系统架构设计师备考攻略-CSDN博客文章浏览阅读774次,点赞17次,收藏10次。计算机软件资格考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。软考没有学历、专业、年龄、相关工作经验要求,你可以根据自身选择合适的去报名(也就是说你直接直接报高级),但是一次考试只能报一种。计算机软件资格考试纳入全国专业技术人员职业资格证书制度的统一规划,实行统一大纲、统一试题、统一标准、统一证书的考试办法,每年举行两次。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位聘任相应专业技术职务(助理工程师、工程师、高级工程师)。https://shuaici.blog.csdn.net/article/details/140975939Android Studio模拟器(AVD)安装-CSDN博客文章浏览阅读3.2w次,点赞21次,收藏129次。本文详细记录了在Android Studio中安装和使用AVD模拟器遇到的问题及解决方案,包括Error while waiting for device、VT-x disabled in BIOS和无法运行项目等错误。通过检查SDK Tools、更新HAXM、进入BIOS启用VT-x,以及修改项目配置以兼容x86架构,最终成功运行了Android项目。https://shuaici.blog.csdn.net/article/details/118612073

  • 43
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

帅次

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

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

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

打赏作者

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

抵扣说明:

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

余额充值