有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

Flutter SDK

SDK 以插件的方式封装了一句话识别功能,提供 flutter 版本的一句话识别,本文介绍 SDK 的安装方法及示例。

开发环境

Dart >= 2.18.4
Flutter >= 3.3.8
Android API Level >= 16
iOS >= 9.0

获取安装

?下载SDK SDK 内 asr_plugin 目录即为 flutter 插件,插件内 example 目录下为 demo 示例。

接入指引

此插件仅支持 Android 和 iOS 两个平台且包含了平台相关的库,使用时请确保开发环境包含 Android Studio 及 XCode 否则可能会出现集成时的编译问题。
1. 将项目中 asr_plugin 目录复制到自己的 Flutter 工程下。
2. 在自己项目的配置文件 pubspec.yaml 下添加依赖。
asr_plugin:
# 该路径根据asr_plugin存放路径改变
path: ../asr_plugin
3. 在需要使用到的页面,导入 asr_plugin 的依赖。
import 'package:asr_plugin/asr_plugin.dart';

接口说明

接口示例代码为 demo 部分代码,完整代码请参考位于 example 里的 demo 示例。

OneSentenceASRParams

一句话识别请求的相关参数,可参考一句话识别的描述。
示例
var _params = OneSentenceASRParams();
_params.binary_data = Uint8List.view((await rootBundle.load("assets/30s.wav")).buffer);
_params.voice_format = OneSentenceASRParams.FORMAT_WAV;

OneSentenceASRController

控制一句话识别的流程及获取一句话识别的结果
方法
Future<OneSentenceASRResult> recognize(OneSentenceASRParams params) async;
示例
_result = (await _controller.recognize(_params)).response_body;

OneSentenceASRResult

返回一句话识别的结果,数据类型与 API 文档描述对应,可参考一句话识别的描述。
参数
String response_body = ""; // 服务端返回原始信息
String? request_id; // 唯一请求 ID
String? result; // 识别结果
int? duration; // 请求的音频时长,单位为ms
int? word_size; // 词时间戳列表的长度
List<SentenceWords>? word_list; //词时间戳列表
Error? error; // 错误信息

SentenceWords

SentenceWords 数据类型,可参考语音识别-数据接口的描述。
参数
String? word; // 词结果
int? offset_start_ms; // 词在音频中的开始时间
int? offset_end_ms; // 词在音频中的结束时间

Error

服务端返回的错误信息
参数
String code; // 错误码
String message; // 错误信息
?
http://www.vxiaotou.com