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

1 回复

更多关于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);
}
回到顶部