乐趣区

关于flutter:Flutter集成百度语音识别Android端实战

明天和大家分享一下 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 集成百度语音辨认

感觉文章不错的,给我点个赞哇,关注一下呗!
技术交换可关注公众号【君伟说】,加我好友一起探讨

退出移动版