kooboo_openvidu
openvidu sdk dart implement
Getting Started
Session
构造函数
参数名 | 说明 |
---|---|
url | 由后端提供,用户进入直播间的token |
connect
说明:与服务器建立连接
参数名 | 说明 |
---|---|
userName | 用户名,不可重复 |
disconnect
说明:与服务器断开连接,并清理资源
startLocalPreview
说明:开启本地视频预览(无需与服务器建立连接)
参数名 | 说明 |
---|---|
mode | frontCamera:前置摄像头,backCamera:后置摄像头,srceen:屏幕,audio:语音通话 |
videoParams | 视频参数,预置了VideoParams.low,VideoParams.middle,VideoParams.high,也可自定义创建 |
stopLocalPreview
说明:关闭本地视频预览
switchCamera
说明:切换前后摄像头
publishLocalStream
说明:发布本地流到服务器(stopLocalPreview之后调用)
参数名 | 说明 |
---|---|
video | 是否开启视频 |
audio | 是否开启音频 |
publishVideo
说明:改变发布视频状态
参数名 | 说明 |
---|---|
enable | true为发布视频,false为停止发送视频 |
publishAudio
说明:改变发布音频状态
参数名 | 说明 |
---|---|
enable | true为发布音频,false为停止发送音频 |
subscribeRemoteStream
说明:订阅远端用户流
参数名 | 说明 |
---|---|
id | 对方id |
video | 是否开启视频 |
audio | 是否开启视音频 |
speakerphone | 是否开启扬声器播放声音,默认是听筒 |
setRemoteVideo
说明:设置是否开启远端流的视频(目前ios13以上的无效,等待flutter_webrtc官方修复)
参数名 | 说明 |
---|---|
id | 对方id |
enable | 是否开启视频 |
setRemoteAudio
说明:设置是否开启远端流的音频(目前ios13以上的无效,等待flutter_webrtc官方修复)
参数名 | 说明 |
---|---|
id | 对方id |
enable | 是否开启音频 |
setRemoteSpeakerphone
说明:设置是否开启远端流的扬声器播放
参数名 | 说明 |
---|---|
id | 对方id |
enable | 是否开启扬声器 |
on
说明:设置事件回调
参数名 | 说明 |
---|---|
event | 事件名,可参阅Event枚举 |
handler | 回调 |
event
- joinRoom 自己成功进入房间
- userJoined 远端用户进入房间
- userPublished 远端用户发布了视频流,此时还没有收到流,需要手动订阅_session.subscribeRemoteStream
- error 出现错误,出现错误后需要重新申请token后重连房间
- addStream 收到了远端流
- removeStream 远端流被移除
- publishVideo 内部事件
- publishAudio 内部事件
- udioActive 内部事件
- videoActive 内部事件
error
- NotPermissionError 无设备权限
- TokenError token验证失败
- NetworkError 网络错误
- OtherError 其他未知错误