美文网首页
集成讯飞语音

集成讯飞语音

作者: 夏沫丶浅吟 | 来源:发表于2017-11-27 16:09 被阅读0次

在讯飞开发者平台上注册账号后,拿到APPID

下载SDK和demo,因为下载大多数使用Android studio进行开发,  .so文件的导入如果直接放到项目的model中lib文件夹中系统无法识别(找到)对应的 .so文件,这时我们需要进行几步特殊的操作:

 1、将 .so文件复制到lib文件夹中 如图所示:

2、在model层的build.gradle中,要进行项目lib目录路径的转换,在android{ } 这个位置加一句代码:

sourceSets{

    main{

jniLibs.srcDirs = [ 'libs' ]//你的文件夹叫什么,这个的单引号里边就是什么

}

}

3、因为不同的手机CPU架构不同,这里尽量多导入各种CPU对应的.so文件架构 

4、在完成上述操作后,APP是可以正常启动的,但是当我们在启用语音转换为文字的时候,讯飞语音的源码会报错  提示 启动录音失败 错误码20006  ,这是因为在Android5.0以后动态权限要在代码中声明,(只在清单文件中获取对应的录音,读写文件权限是没用的),所以我们需要在APP启动的时候获取这些权限,代码如下:

private voidrequestPermissions(){

try{

if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.M) {

intpermission = ActivityCompat.checkSelfPermission(this,

Manifest.permission.WRITE_EXTERNAL_STORAGE);

if(permission!= PackageManager.PERMISSION_GRANTED) {

ActivityCompat.requestPermissions(this,newString[] {Manifest.permission.WRITE_EXTERNAL_STORAGE,

Manifest.permission.LOCATION_HARDWARE,Manifest.permission.READ_PHONE_STATE,

Manifest.permission.WRITE_SETTINGS,Manifest.permission.READ_EXTERNAL_STORAGE,

Manifest.permission.RECORD_AUDIO,Manifest.permission.READ_CONTACTS},0x0010);

}

}

}catch(Exception e) {

e.printStackTrace();

}

}

@Override

public voidonRequestPermissionsResult(intrequestCode, String[] permissions,int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

}

相关文章

网友评论

      本文标题:集成讯飞语音

      本文链接:https://www.haomeiwen.com/subject/fnjdbxtx.html