语音消息
语音消息是即时通讯应用中常用的功能,使用户能够通过录制语音来快速表达想法,比文字输入更加便捷。本文档介绍如何在Flutter IMKit中使用语音消息功能。
功能效果
语音消息功能包括录制语音、发送语音消息和播放语音消息。IMKit提供了完整的UI组件和相关逻辑处理。
使用方法
发送语音消息
Flutter IMKit 提供了 VoiceRecordProvider 用于管理语音录制的状态和逻辑,并内置了语音录制按钮组件。
默认情况下,语音消息图标显示在输入字段的左侧。点击此图标后,就会出现录制按钮(“按 住说话”)。用户可以通过点击录制按钮来录制语音消息。
长度必须至少为一秒且短于 60 秒钟。如果在点击停止按钮之前消息不到一秒,则不会保存该消息。录制过程中可以上滑取消录制或放弃取消。
一旦松开按钮,SDK 默认发送到目前为止录制的内容。不支持在发送语音消息之前预览。在播放语音消息中的音频文件时不可暂停。
查看语音消息
Flutter IMKit 为语音消息提供了专门的气泡组件,展示语音时长并支持播放功能。
3. 语音录制状态管理
RCKVoiceRecordProvider 管理语音录制的状态和操作,您可以使用 context 获取并调用接口。
4. 配置语音输入按钮
Flutter IMKit 允许您自定义语音输入按钮的外观和行为:
Dart
// 在消息输入配置中
InputConfig(
// 启用语音输入
enableVoiceInput: true,
// 语音按钮图标
voiceInputIcon: Icon(Icons.mic, color: Colors.grey),
// 录音按钮文本
recordButtonText: '按住 说话',
// 松开发送文本
recordReleaseText: '松开 发送',
// 滑动取消文本
recordCancelText: '滑动取消',
// 录音按钮颜 色
recordButtonColor: Colors.blue[100],
// 录音中按钮颜色
recordingButtonColor: Colors.blue,
// 最大录音时长(秒)
maxRecordDuration: 60,
)
通过以上方法,您可以在 Flutter IMKit 中实现完整的语音消息功能,为用户提供便捷的语音交流体验。