明天和大家分享一下 Flutter 中集成百度语音辨认 Android 端的过程,供大家进行参考。
既然是 Flutter 集成,那首先就要创立一个 Flutter 我的项目,这个就不认真讲了,能够参考 Flutter 中文的创立我的项目流程
@[toc]
一、百度语音官网注册利用信息
1. 注册百度账号
首先注册登陆百度 AI 开发平台 - 语音辨认,关上控制台找到并点击”语音技术“一栏
2. 创立注册利用信息
填写利用名称(名称随便),类别随便,抉择 Android 并填写 Android 包名,点击创立利用就创立实现了。
3. 查看利用信息
点击第 1 步中的治理利用,能够看到你创立的所有利用列表,能够看到创立利用的 AppID,API Key, Secret Key 等信息,这些都须要在我的项目进行配置的。
4. 下载 SDK
百度语音辨认 SDK
二、创立一个我的项目的 Library
1. 应用 Android Studio 关上我的项目 Android 文件
2. 创立 Library, File->New Module-> 抉择 Android Library,填写 name(asr_plugin)
3. 增加语音辨认 sdk
在 asr_plugin 中创立一个 libs 文件夹,复制 (解压下载的百度语音辨认 sdk 文件 /core/libs/*.jar) 到刚创立的 libs 下
4. 增加 so 文件
复制 (解压 sdk 文件 /core/main/jniLibs) 复制到 asr_plugin/src/main 下,删除上面的 armeabi,(因为 Flutter 没有 armeabi 的 so), 删除应用不到的库文件, 保留如下图中文件即可
5.AndroidManifest.xml 配置权限及我的项目的 APPID,API_KEY 以及 Secret_Key
6. 在我的项目 Android/app 目录下的 build.grade 文件中增加插件依赖
三.Android 实现百度语音的辨认性能
1.Library 中实现百度辨认性能
2.library 的 build.gradle 中增加 flutter 依赖
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
apply plugin: 'com.android.library'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
flutter {source '../..'}
3. 我的项目 app/build.gradle 中增加如下代码,确保 app 与 library 中增加 flutter.so 不抵触
defaultConfig 中增加
ndk{abiFilters "arm64-v7a","arm64-v8a","x86_64","x86"}
// 百度语音集成增加
packagingOptions {
// 确保 app 与 asr_plugin 都依赖的 libflutter.so merge 时不抵触 @https://github.com/card-io/card.io-Android-SDK/issues/186#issuecomment-427552552
pickFirst 'lib/x86_64/libflutter.so'
pickFirst 'lib/x86/libflutter.so'
pickFirst 'lib/arm64-v8a/libflutter.so'
pickFirst 'lib/arm64-v8a/libapp.so'
pickFirst 'lib/armeabi-v7a/libapp.so'
}
在我的项目的 MainActivity 中进行注册
四、Dart 端实现语音性能治理
语音辨认治理类
性能页面应用
可能遇到的问题
1、辨认语音,而且报错语音辨认谬误,-3004,4004
解决:返回百度语音官网控制台,支付一下额度,才能够进行失常测试
Demo
Flutter 仿携程 APP 集成百度语音辨认
感觉文章不错的,给我点个赞哇,关注一下呗!
技术交换可关注公众号【君伟说】,加我好友一起探讨