当前位置:   article > 正文

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

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 错误信息

  1. 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"
  2. init failed
  3. 组件未安装.(错误码:21002)
  4. at com.iflytek.cloud.SpeechUtility.<init>(SourceFile:176)
  5. at com.iflytek.cloud.SpeechUtility.createUtility(SourceFile:12)
  6. at com.xxxxx.base.MyApplication.onCreate(MyApplication.java:37)
  7. at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
  8. at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6859)
  9. 。。。。。
  10. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)

2.2 Android 13 错误信息

  1. loadLibrary msc error:java.lang.UnsatisfiedLinkError: dlopen failed: library "libmsc.so" not found
  2. 组件未安装.(错误码:21002)
  3. at com.iflytek.cloud.SpeechUtility.<init>(SourceFile:176)
  4. at com.iflytek.cloud.SpeechUtility.createUtility(SourceFile:12)
  5. at com.xxxxx.base.MyApplication.onCreate(MyApplication.java:37)
  6. at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
  7. at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6859)
  8. 。。。。。
  9. 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,肯定会报错。错误配置如下:

  1. android {
  2. ...
  3. defaultConfig {
  4. ...
  5. ndk {
  6. // 设置支持的SO库架构
  7. abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64', 'x86'
  8. }
  9. }
  10. ...
  11. }

        ③、这里的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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/998012
推荐阅读
相关标签
  

闽ICP备14008679号