Android中使用讯飞语音合成(报21001)组件未安装

application类中的内容-----是为了指定下载SDK时得到的ID
 
StringBuffer param = new StringBuffer();
param.append("appid="+getString(R.string.app_id));
param.append(",");
// 设置使用v5+
param.append(SpeechConstant.ENGINE_MODE+"="+SpeechConstant.MODE_MSC);

SpeechUtility.createUtility(BaseApplication.this, param.toString());

 

 

1、有没有使用SpeechUtility.createUtility()设置appid 2、有没有将libmsc.so放到工程中 3、如果使用的是讯飞语音+的本地功能,有没有安装讯飞语音+ 4、如果设备是android 5.0及其以上,需要将工程中的armeabi和armeabi-v7a文件夹中都放上libmsc.so,如果你下载的SDK中没有armeabi-v7a对应的库,可以将armeabi中的libmsc.so复制一份到armeabi-v7a文件夹中 5、SpeechUtility.createUtility()如在Application中调用,需要在Mainifest中注册该Applicaiton。此方法不是必须在Appcation中调用,可在需要使用语音能力之前,例如进入语音搜索页面调用。

6、使用Android Studio的开发者注意将so放在jniLibs目录下,或者在配置文件中指定so加载的路径。

以上几种方法是网上找到的****如果出现21001类的问题,这几种方法可以试试

使用libs下的.so文件,需要在build.gradle中

android{
    sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
    }
}

 

 

 

你可能感兴趣的:(Android,Studio)