ex_im_flutter_call 0.0.8 copy "ex_im_flutter_call: ^0.0.8" to clipboard
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 #

  • 修复 ExImCallViewExImGroupCallView 在 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 #

  • 修复 ExImCallViewExImGroupCallView 组件在 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 连接管理
0
likes
145
points
286
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin for audio/video calling - provides WebRTC-based 1v1 and group calling functionality for ex_im_flutter_chat.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

audioplayers, cached_network_image, desktop_multi_window, ex_im_flutter_chat, flutter, flutter_screenutil, flutter_webrtc, permission_handler, wakelock_plus, window_manager

More

Packages that depend on ex_im_flutter_call

Packages that implement ex_im_flutter_call