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

Stella981 等级 394 0 0

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

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

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

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 解决:前往百度语音官网控制台,领取一下额度,才可以进行正常测试 Flutter集成百度语音识别(Android端)实战

Demo

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

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

收藏
评论区

相关推荐

【Flutter实战】初识Flutter
1.2 初识Flutter 1.2.1 Flutter简介Flutter 是 Google推出并开源的移动应用开发框架,主打跨平台、高保真、高性能。开发者可以通过 Dart语言开发 App,一套代码同时运行在 iOS 和 Android平台。 Flutter提供了丰富的组件、接口,开发者可以很快地为 Flutter添加 native扩展。同时 Flu
【Flutter 实战】安装Flutter
1.3 搭建Flutter开发环境工欲善其事必先利其器,本节首先会分别介绍一下在Windows和macOS下Flutter SDK的安装,然后再介绍一下配IDE和模拟器的使用。 1.3.1 安装Flutter由于Flutter会同时构建Android和IOS两个平台的发布包,所以Flutter同时依赖Android SDK和iOS SDK,在安装Fl
Flutter - 深入理解Flutter引擎启动
基于Flutter 1.5,从源码视角来深入剖析flutter引擎的启动流程,相关源码目录见文末附录一、Flutter引擎启动工作 1.1 Flutter启动概览Flutter作为一款跨平台的框架,可以运行在Android、iOS等平台,Android为例讲解如何从Android应用启动流程中衔接到Flutter框架,
Android&Flutter混合开发初体验
最近flutter不是一般的火呀,但对于一些成熟的产品来说,完全摒弃原有App的历史沉淀,全面转向Flutter是不现实的。因此使用Flutter去统一Android、iOS技术栈,把它作为已有原生App的扩展能力,通过有序推进来提升移动端的开发效率 (1)创建flutter模块,创建module后会AS会自动进行flutter的相关配置 ![在这里
AndroidStudio安装了flutter插件,但是flutter doctor识别不到的问题解决
最近在配置flutter开发环境的时候,出现了很多问题。 我是下载的 [flutter源码](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgithub.com%2Fflutter%2Fflutter "flutter源码") ,切换到了`stable` 分支,当前版本号为 `1.22.
Flutter
在Flutter 加载网页?也是有WebView的哦,和Android一样 1.添加依赖 dependencies: flutter\_webview\_plugin: ^0.2.1+2 2.导入库 import 'import 'package:flutter\_webview\_plugin/flutter\_webview\_plug
Flutter Swiper制作轮播效果
![](https://oscimg.oschina.net/oscnet/71c82559e8c6c5a42d6e3420594398793d7.png) #### 1、引入flutter\_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. Flutter\_swiper的GitHub
Flutter Widget 静态布局实战
**相关文章** [Flutter 环境搭建以及填坑指南(Win10 系统且已有 Android 开发环境 )](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fblog.csdn.net%2FITxiaodong%2Farticle%2Fdetails%2F85809584) [F
Flutter 使用Android Studio 创建第一个应用
#### Flutter 使用Android Studio 创建第一个应用 #### 1 创建应用 ![在这里插入图片描述](https://oscimg.oschina.net/oscnet/up-9ecc5b3e45c9c29188c11613841f0917.png) #### 2 选择 Flutter application ![在这里插入图
Flutter 笔记
> 最近开发需要,要接触移动端一些东西,所以看一下flutter。 因为移动端经常是要做一样事情就是即要有android平台,又要有ios平台,所以,选择了Flutter。 为什么不是React Native?因为,Flutter字比较少,而且不用打空格,我喜欢。 一、安装 ---- 1. 下载 2. 解压 3. 设置path 4. 开始 二、
Flutter与Android混合开发及Platform Channel的使用
1. 相对于单独开发Flutter应用,混合开发对于线上项目更具有实际意义,可以把风险控制到最低,也可以进行实战上线。所以介绍 **集成已有项目** 2. 混合开发涉及原生Native和Flutter进行通信传输,还有插件编写,所以介绍 **两端通信Flutter Platform Channel的使用** [WanAndroid客
Flutter安装
安装前准备:Android Studio 、VS Code、Git 1\. 使用镜像 -------- 添加用户环境变量: FLUTTER\_STORAGE\_BASE\_URL = https://storage.flutter-io.cn PUB\_HOSTED\_URL=https://pub.flutter-io.cn 2.g
Flutter混合开发踩坑指北
2020年这个长假因为新型冠状病毒疫情显得格外不一样,好多小伙伴应该已经闲的长毛了,再坚持一下,相信国家很快就会控制住的。 这两天实在不知道做啥了,开始跟着keep计划健身,为即将来临的工作热身,今天学习了一下Flutter的混合开发知识。 Flutter与Android的原生混合开发学习中遇到一些问题,现在记录如下。 首先看一下如何创建一个Flutter
Flutter环境搭建
本文介绍mac上搭建Flutter环境 1、Flutter官方提供中国地区镜像地址:[https://github.com/flutter/flutter/wiki/Using-Flutter-in-China](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgithub.com%2Ff
Flutter集成百度语音识别(Android端)实战
今天和大家分享一下Flutter中集成百度语音识别Android端的过程,供大家进行参考。 既然是Flutter集成,那首先就要创建一个Flutter项目,这个就不仔细讲了,可以参考Flutter中文的[创建项目流程](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fflutterchin