以AI智能语音集成为例:百度语音识别android 及IOS demo下载地址。
SDK的集成包含两个部分:
1.集成Native SDK
2. 创建Native 模块的Flutter Plugin(需要用到Flutter 的Channel)
1. Android集成
需要配置到的文件:
- AndroidManifest.xml
- proguard-rules.pro
- build.gradle
- 创建Android 的module
选择Android library
创建包名,点击finish完成
- 然后开始添加百度语音sdk
-
在libs下添加百度语音依赖的jar包:
-
添加jniLibs架构文件,并且删除armeabi、armeabi-v7a文件夹(flutter SDK没有这两个架构的文件),架构文件中保留libBaiduSpeechSDK.so、libvad.dnn.so两种类型。
-
添加混淆:
proguard-rules.pro
文件中添加:-keep class com.baidu.speech.**{*;}
-
声明依赖的权限:
android/asr_plugin/src/main/AndroidManifest.xml
文件下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.asr_plugin">
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<meta-data android:name="com.baidu.speech.APP_ID"
android:value="23795898" />
<meta-data
android:name="com.baidu.speech.API_KEY"
android:value="C0ZUM1QwlfiWxPDy8KpjITr1" />
<meta-data
android:name="com.baidu.speech.SECRET_KEY"
android:value="3rQQRHWnzsDNYRcM4QrB8jNrkVPaL0K4" />
</application>
</manifest>
- 为android工程依赖plugin
打开项目结构 Project Structure,为app依赖添加百度语音插件
没问题,就运行。
2. iOS集成
需要配置的文件:
- 添加静态库
- 添加所需资源
- 添加Framework
先创建plugin Group。
- 添加静态库
将IOS demo中的BDSClientLib/libBaiduSpeechSDK.a
添加到 plugin下:
- 添加所需资源
-
将开发包中的
BDSClientResource/ASR/BDSClientResources
目录以create folder reference
添加到工程资源Group中(注意: 使用create group不能生效)。
-
将开发包中的
BDSClientResource/ASR/BDSClientEASRResources
目录以create group
添加到工程目录中
- 添加Framework
- 添加语音权限
Privacy - Microphone Usage Description
没问题,就运行。