Flutter语音识别插件exolve_voice_sdk的使用

Flutter语音识别插件exolve_voice_sdk的使用

Exolve Flutter Voice SDK 允许你在应用程序中进行电话通话。

完整的 SDK API 使用展示在我们的示例应用中。

更多信息请访问社区网站

安装

要使用此插件,你需要在你的 pubspec.yaml 文件中添加 exolve_voice_sdk 作为依赖项。

dependencies:
  exolve_voice_sdk: ^实际版本号

使用

初始化

首先,你需要初始化 CallClient 类,这是库功能的主要入口点。

import 'package:exolve_voice_sdk/call_client/call_client.dart';
import 'package:exolve_voice_sdk/configuration/configuration.dart';

final CallClient callClient = CallClient();
final Configuration configuration = Configuration(
    logConfiguration: LogConfiguration(logLevel: LogLevel.debug),
    enableSipTrace: true,
    enableNotifications: true,
    callKitConfiguration: CallKitConfiguration(
        includeInRecents: true,
    )
);

callClient.initializeCallClient(configuration: configuration);

注册

为了发起和接收通话,你需要使用账户凭证进行注册。

await callClient.register(
    login: "你的登录名",
    password: "你的密码",
);

为了访问注册事件并处理它们,你需要订阅相应的事件流。

StreamSubscription<RegistrationEvent> registrationSubscription = callClient
    .subscribeOnRegistrationEvents()
    .listen((event) {
        // 在这里处理事件
    });

通话

为了访问通话事件并处理它们,你需要订阅相应的事件流。

StreamSubscription<CallEvent> callsSubscription = callClient
    .subscribeOnCallEvents()
    .listen((event) {
        // 在这里处理事件
    });

对于外呼:

callClient.makeCall(number: "你要拨打的号码");

接听来电基于上述订阅时接收到的事件。

// 当 event.callEvent 是 CallNewEvent 时
call.accept();

音频路由

为了访问音频路由事件并处理它们,你需要订阅相应的事件流。

StreamSubscription<AudioRouteEvent> audioRoutesSubscription = callClient
    .subscribeOnAudioRouteEvents()
    .listen((event) {
        // 在这里处理事件
    });

更多关于Flutter语音识别插件exolve_voice_sdk的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter语音识别插件exolve_voice_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


exolve_voice_sdk 是一个用于在 Flutter 应用中实现语音识别的插件。虽然 exolve_voice_sdk 并不是 Flutter 官方提供的插件,但它可能是一个第三方插件,用于处理语音识别功能。在使用该插件之前,请确保你已经详细了解其文档和许可信息。

以下是一个基本的使用指南,假设你已经将 exolve_voice_sdk 插件添加到你的 Flutter 项目中。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 exolve_voice_sdk 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  exolve_voice_sdk: ^1.0.0  # 请确保使用正确的版本号

然后运行 flutter pub get 以获取依赖。

2. 初始化插件

在你的 Flutter 应用中,你需要初始化 exolve_voice_sdk 插件。通常,你会在 main.dart 文件中进行初始化。

import 'package:exolve_voice_sdk/exolve_voice_sdk.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await ExolveVoiceSdk.initialize();  // 初始化插件
  runApp(MyApp());
}

3. 使用语音识别功能

你可以在应用中的任何地方使用 exolve_voice_sdk 提供的语音识别功能。以下是一个简单的示例,展示如何启动语音识别并获取识别结果。

import 'package:flutter/material.dart';
import 'package:exolve_voice_sdk/exolve_voice_sdk.dart';

class VoiceRecognitionPage extends StatefulWidget {
  @override
  _VoiceRecognitionPageState createState() => _VoiceRecognitionPageState();
}

class _VoiceRecognitionPageState extends State<VoiceRecognitionPage> {
  String _recognizedText = "";

  Future<void> _startVoiceRecognition() async {
    try {
      String result = await ExolveVoiceSdk.startRecognition();
      setState(() {
        _recognizedText = result;
      });
    } catch (e) {
      setState(() {
        _recognizedText = "Error: $e";
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Voice Recognition'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Recognized Text:',
              style: TextStyle(fontSize: 20),
            ),
            Text(
              _recognizedText,
              style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: _startVoiceRecognition,
              child: Text('Start Voice Recognition'),
            ),
          ],
        ),
      ),
    );
  }
}

4. 处理权限

语音识别通常需要访问设备的麦克风。请确保在你的应用中请求并处理相关的权限。

AndroidManifest.xml 中添加以下权限:

<uses-permission android:name="android.permission.RECORD_AUDIO" />

Info.plist 中添加以下权限:

<key>NSMicrophoneUsageDescription</key>
<string>We need access to the microphone for voice recognition</string>
回到顶部