ex_im_flutter_call 0.0.8
ex_im_flutter_call: ^0.0.8 copied to clipboard
A Flutter plugin for audio/video calling - provides WebRTC-based 1v1 and group calling functionality for ex_im_flutter_chat.
Changelog #
0.0.6 #
- 修复
ExImCallView和ExImGroupCallView在 SDK 初始化后不显示通话 UI 的问题 - 新增
ExImCall.instance.initializationNotifier- ValueNotifier 用于通知 widgets SDK 初始化状态变化 - 组件现在会监听 SDK 初始化事件,自动订阅状态流并触发重建
- 修复 WebRTC 信令问题:呼叫方收到应答时 SDP 类型被错误设置为 "offer" 而非 "answer"
- 重要修复:修复
accept()方法错误地创建 offer 而非 answer 的问题- 被叫方现在正确地:1) 设置收到的 offer 为 remote description 2) 创建 answer 3) 发送 answer
- 收到来电时立即初始化本地媒体流,以便在来电界面显示本地摄像头预览
- 修复
ExImGroupCallView全屏模式下定位不正确的问题(使用 _dy 而非 0) - 改进群通话判断逻辑:除了
isGroupCall字段,还会根据 roomId 和 members 数量推断 - 修复群通话成员解析:
- 改进
_onCallInvite方法中的 members 解析逻辑 - 先解析成员列表再更新 callState,确保 UI 能获取到成员信息
- 添加详细调试日志便于排查问题
- 改进类型转换确保字符串正确解析
- 改进
- 修复头像 URL 相对路径问题:
- 自动使用
ExImRuntimeConfig.uploadApiUrl拼接相对路径的头像 URL - 解决
No host specified in URI错误,无需用户额外配置 - 所有头像组件添加
errorWidget处理加载失败的情况
- 自动使用
0.0.5 #
- 添加通话状态调试日志,帮助诊断 "当前正在通话中" 问题
0.0.4 #
- 修复
ExImCallView和ExImGroupCallView组件在 SDK 未初始化时抛出异常的问题 - 组件现在在 SDK 未初始化时返回空的 SizedBox,避免阻塞应用启动
0.0.3 #
- 新增
ExImCall.instance.joinActiveCall()方法 - 加入活跃的群通话 - RtcEngine 新增 Mesh 架构支持
_createAndSendOfferToMember()- 向成员发送 Offer_handleRemoteStream()- 处理远端流_sendCandidateToUser()- 向特定用户发送 ICE Candidate
0.0.2 #
- 新增内置 UI 组件
ExImCallView- 1v1 通话视图(支持全屏/画中画模式)ExImGroupCallView- 群通话视图(支持大屏选择 + 小屏列表布局)CallViewConfig/GroupCallViewConfig- 视图配置类
- 新增通用控制组件
CallMediaControlButton- 媒体控制按钮CallActionButton- 操作按钮CallAvatarOverlay/CallSmallAvatarOverlay- 头像覆盖层CallStatusIndicator- 状态指示器
- RtcEngine 新增暴露属性
groupMemberInfos- 群通话成员信息列表remoteMediaStates- 远端媒体状态 Map
- 新增依赖
cached_network_image
0.0.1 #
- 初始版本
- 1v1 音频/视频通话
- 群组音频/视频通话
- 通话状态管理(Stream 方式)
- 媒体控制(摄像头切换、静音、扬声器)
- 来电接听/拒绝
- 通话计时
- 屏幕常亮支持
- ICE Candidate 缓存处理
- WebRTC 连接管理