Flutter集成百度语音识别(Android端)实战

今天和大家分享一下Flutter中集成百度语音识别Android端的过程,供大家进行参考。

既然是Flutter集成,那首先就要创建一个Flutter项目,这个就不仔细讲了,可以参考Flutter中文的创建项目流程

文章目录

*

+ 一、百度语音官网注册应用信息
+
* 1.注册百度账号
* 2.创建注册应用信息
* 3.查看应用信息
* 4.下载SDK
+ 二、创建一个项目的Library
+
* 1.使用Android Studio打开项目Android文件
* 2.创建Library, File->New Module->选择Android Library,填写name(asr_plugin)
* 3.添加语音识别sdk
* 4.添加so文件
* 5.AndroidManifest.xml配置权限及项目的APPID,API_KEY以及Secret_Key
* 6.在项目Android/app目录下的build.grade文件中添加插件依赖
+ 三.Android实现百度语音的识别功能
+
* 1.Library中实现百度识别功能
* 2.library的build.gradle中添加flutter依赖
* 3.项目app/build.gradle中添加如下代码,确保app与library中添加flutter.so 不冲突
* 在项目的MainActivity中进行注册
+ 四、Dart端实现语音功能管理
+
* 语音识别管理类
* 功能页面使用
+ 可能遇到的问题
+ Demo

一、百度语音官网注册应用信息

1.注册百度账号

首先注册登陆百度AI开发平台-语音识别,打开控制台找到并点击”语音技术”一栏

Flutter集成百度语音识别(Android端)实战
Flutter集成百度语音识别(Android端)实战

; 2.创建注册应用信息

填写应用名称(名称随意),类别随意,选择Android并填写Android包名,点击创建应用就创建完成了。

Flutter集成百度语音识别(Android端)实战

3.查看应用信息

点击第1步中的管理应用,可以看到你创建的所有应用列表,可以看到创建应用的AppID,API Key, Secret Key等信息,这些都需要在项目进行配置的。

Flutter集成百度语音识别(Android端)实战

; 4.下载SDK

百度语音识别SDK

二、创建一个项目的Library

1.使用Android Studio打开项目Android文件

2.创建Library, File->New Module->选择Android Library,填写name(asr_plugin)

Flutter集成百度语音识别(Android端)实战

; 3.添加语音识别sdk

在asr_plugin中创建一个libs文件夹,复制(解压下载的百度语音识别sdk文件/core/libs/***.jar)到刚创建的libs下

4.添加so文件

复制(解压sdk文件/core/main/jniLibs)复制到asr_plugin/src/main下,删除下面的armeabi,(因为Flutter没有armeabi的so),删除使用不到的库文件,保留如下图中文件即可

Flutter集成百度语音识别(Android端)实战

; 5.AndroidManifest.xml配置权限及项目的APPID,API_KEY以及Secret_Key

Flutter集成百度语音识别(Android端)实战

6.在项目Android/app目录下的build.grade文件中添加插件依赖

Flutter集成百度语音识别(Android端)实战

; 三.Android实现百度语音的识别功能

1.Library中实现百度识别功能

Flutter集成百度语音识别(Android端)实战

; 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中进行注册

Flutter集成百度语音识别(Android端)实战

; 四、Dart端实现语音功能管理

语音识别管理类

Flutter集成百度语音识别(Android端)实战

; 功能页面使用

Flutter集成百度语音识别(Android端)实战

可能遇到的问题

1、识别语音,而且报错语音识别错误,-3004,4004
解决方案:进入百度之声官网控制台拿到额度后,才能进行正常测试。

[En]

Solution: go to the Baidu Voice official website console and get the quota before you can carry out the normal test.

Flutter集成百度语音识别(Android端)实战

; Demo

Flutter仿携程APP集成百度语音识别

觉得文章不错的,给我点个赞哇,关注一下呗!
技术交流可以关注公众号[军卫说],加我的朋友一起讨论。

[En]

Technical exchange can follow the official account [Junwei said], add my friend to discuss together.

Original: https://blog.csdn.net/wayne214/article/details/108104716
Author: wayne214
Title: Flutter集成百度语音识别(Android端)实战

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/526864/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球