Flutter集成TAI SDK插件taisdk的使用
Flutter集成TAI SDK插件taisdk的使用
taisdk
智聆口语评测(Smart Oral Evaluation,SOE)是腾讯云推出的中英文语音评测产品。
开始使用
请联系我们获取授权文件和评估模型。
示例代码
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:taisdk/taisdk.dart';
import 'package:taisdk/taisdk_interface.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
String? _version = 'unknown';
String _result = '';
final _taisdk = Taisdk();
[@override](/user/override)
void initState() {
super.initState();
_result = '';
_taisdk.getVersion().then((value) {
setState(() {
_version = value;
});
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('插件示例应用'),
),
body: Padding(
padding: EdgeInsets.all(20),
child: Flex(
direction: Axis.vertical,
children: [
Text('版本: $_version'),
const SizedBox(height: 10),
Flex(
direction: Axis.vertical,
children: [
Flex(
direction: Axis.horizontal,
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
width: 100,
child: ElevatedButton(
onPressed: _onInitSDK,
child: const Text('初始化SDK'),
),
),
const SizedBox(width: 10),
SizedBox(
width: 100,
child: ElevatedButton(
onPressed: _onStart,
child: const Text('开始'),
),
),
const SizedBox(width: 10),
SizedBox(
width: 100,
child: ElevatedButton(
onPressed: _onUnInitSDK,
child: const Text('取消初始化SDK'),
),
),
],
),
const SizedBox(height: 10),
Text(_result),
],
),
],
),
),
),
);
}
_onInitSDK() {
EvaluationConfig config = EvaluationConfig();
config.secretId = ''; // 填写您的secretId
config.secretKey = ''; // 填写您的secretKey
config.licenseId = ''; // 填写您的licenseId
config.limit = 5; // 设置限制
config.configPath = 'configure.en 文件的绝对路径'; // 配置文件路径
_taisdk.setInitCallback((error) {
setState(() {
_result = '初始化SDK $error';
});
});
_taisdk.setEvaluationCallback((error, sessionId, result) {
setState(() {
_result = '评估 $error \n会话ID $sessionId \n结果 ${result?.pronAccuracy}';
});
});
_taisdk.initSDK(config);
}
_onStart() async {
final file = File('pcm 文件的绝对路径'); // PCM音频文件路径
EvaluationData data = EvaluationData();
data.bEnd = true;
data.data = await file.readAsBytes(); // 读取音频文件数据
EvaluationParam param = EvaluationParam();
param.sessionId = '123456789'; // 设置会话ID
param.coefficient = '4'; // 设置系数
param.evalMode = EvaluationMode.sentence.index; // 设置评估模式
param.refText = 'how are you'; // 设置参考文本
_taisdk.oralEvaluation(param, data); // 进行口语评估
}
_onUnInitSDK() {
_taisdk.unInitSDK(); // 取消初始化SDK
setState(() {
_result = '取消初始化SDK ${EvaluationError.succ}'; // 成功信息
});
}
}
更多关于Flutter集成TAI SDK插件taisdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter集成TAI SDK插件taisdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter应用中集成TAI SDK插件(taisdk
)可以帮助你实现与TAI SDK相关的功能,例如数据采集、用户行为分析等。以下是一个基本的步骤指南,帮助你在Flutter项目中集成和使用taisdk
插件。
1. 添加依赖
首先,你需要在pubspec.yaml
文件中添加taisdk
插件的依赖。
dependencies:
flutter:
sdk: flutter
taisdk: ^1.0.0 # 请使用最新版本
然后运行flutter pub get
来获取依赖。
2. 初始化TAI SDK
在你的Flutter应用中,你需要在应用启动时初始化TAI SDK。通常,你可以在main.dart
文件中进行初始化。
import 'package:flutter/material.dart';
import 'package:taisdk/taisdk.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化TAI SDK
await TAI.init(
appKey: 'YOUR_APP_KEY', // 替换为你的App Key
channel: 'YOUR_CHANNEL', // 替换为你的渠道
);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter TAI SDK Example',
home: HomeScreen(),
);
}
}
3. 使用TAI SDK功能
TAI SDK提供了多种功能,例如用户行为跟踪、事件上报等。你可以在应用的不同部分调用这些功能。
3.1 用户登录
当用户登录时,你可以调用TAI.login
方法来记录用户信息。
void onUserLogin() {
TAI.login(
userId: 'USER_ID', // 替换为你的用户ID
account: 'USER_ACCOUNT', // 替换为你的用户账号
);
}
3.2 事件上报
你可以使用TAI.trackEvent
方法来上报自定义事件。
void onButtonClick() {
TAI.trackEvent(
eventName: 'button_click',
properties: {
'button_name': 'submit_button',
'click_time': DateTime.now().toString(),
},
);
}
3.3 页面跟踪
你可以使用TAI.trackPageView
方法来跟踪页面的访问情况。
void onPageView() {
TAI.trackPageView(
pageName: 'HomeScreen',
properties: {
'page_title': 'Home',
'visit_time': DateTime.now().toString(),
},
);
}
4. 处理权限和隐私
根据TAI SDK的要求,你可能需要在应用中处理一些权限和隐私问题。例如,获取用户同意、处理隐私政策等。
void checkPermissions() async {
// 检查并请求必要的权限
bool granted = await TAI.requestPermissions();
if (granted) {
// 权限已授予
} else {
// 权限被拒绝
}
}
5. 调试和日志
在开发过程中,你可以启用调试模式来查看TAI SDK的日志输出。
void enableDebugMode() {
TAI.setDebugMode(true);
}