public class LPSpeakQueueViewModel extends LPBaseViewModel implements SpeakQueueVM
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
FAKE_MIX_STREAM_USER_ID |
构造器和说明 |
---|
LPSpeakQueueViewModel(LPSDKContext context) |
限定符和类型 | 方法和说明 |
---|---|
void |
agreeSpeakApply(java.lang.String userId)
老师同意学生举手
|
void |
cancelSpeakApply()
学生取消举手
|
void |
closeOtherSpeak(java.lang.String userId)
关闭其他人发言
|
void |
controlRemoteSpeak(java.lang.String userId,
boolean isVideoOn,
boolean isAudioOn) |
boolean |
controlRemoteUser(java.lang.String userId,
boolean isVideoOn,
boolean isAudioOn)
关闭学生音频或视频
|
void |
destroy() |
void |
disagreeSpeakApply(java.lang.String userId)
老师拒绝学生举手
|
boolean |
enableAsCamera()
是否可以作为外接设备推流,当屏幕共享和播放视频时外接设备不推流
可认为优先级屏幕共享、播放视频>外接设备>主设备
外接设备调用
|
boolean |
enableAttachPhoneCamera()
是否允许外接设备
|
boolean |
enableWarmingUpVideo()
点播预热是否可用
|
java.util.List<IMediaModel> |
getActiveUserList()
上台用户列表(用于合流课台下用户获取上台用户列表)
不包含自己
|
java.util.List<IUserModel> |
getApplyList()
举手列表
|
IMediaModel |
getAsCameraModel()
外接设备的mediaModel
|
boolean |
getDrawingAuth()
当前画笔权限(学生)
|
java.util.Set<java.lang.String> |
getHorizontalMirrorModeSet()
获取水平翻转的台上用户userNumber
|
IMediaModel |
getMixedStreamingModel()
获取合流Model
|
io.reactivex.Observable<java.util.List<IMediaModel>> |
getObservableOfActiveUsers()
获取进教室时已经在发言列表的用户的回调
|
io.reactivex.Observable<java.lang.String> |
getObservableOfAsCameraUrl(int replaceMediaType)
获取扫码视频分享地址
|
io.reactivex.Observable<java.lang.Boolean> |
getObservableOfEnableWarmingUpVideo()
点播预热是否可用的回调
|
io.reactivex.Observable<IMediaControlModel> |
getObservableOfMediaControl()
远程控制本地音视频
|
io.reactivex.Observable<IMediaControlModel> |
getObservableOfMediaControlDeny()
远程控制本地音视频Deny
|
io.reactivex.Observable<IMediaModel> |
getObservableOfMediaDeny()
Media publish Deny
|
io.reactivex.subjects.PublishSubject<IMediaModel> |
getObservableOfMediaPublish()
监听发言状态
|
io.reactivex.Observable<LPMirrorModeModel> |
getObservableOfMirrorMode()
镜像状态改变监听(所有人)
|
io.reactivex.subjects.PublishSubject<IMediaModel> |
getObservableOfMixModeMediaPublish()
监听合流时学生发言
|
io.reactivex.subjects.PublishSubject<IUserModel> |
getObservableOfMixModePresenterChange()
监听合流状态主讲人变化
|
io.reactivex.Observable<java.lang.Boolean> |
getObservableOfMixScreenShowOtherUser()
是否显示合流中除主屏的其他人视频 回调
|
io.reactivex.Observable<com.baijiayun.bjyrtcengine.Defines.BJYRtcCommon.VideoMirrorMode> |
getObservableOfMySelfMirrorMode()
当前用户的镜像状态改变监听
|
io.reactivex.Flowable<java.lang.String> |
getObservableOfPresenterChange()
主讲人切换回调
|
io.reactivex.Observable<java.lang.String> |
getObservableOfPresenterIn()
被切为主讲人回调
|
io.reactivex.Observable<IMediaModel> |
getObservableOfSpeakApply()
老师监听学生举手
|
io.reactivex.Observable<IMediaModel> |
getObservableOfSpeakApplyDeny()
已过时。
|
io.reactivex.Observable<IMediaControlModel> |
getObservableOfSpeakApplyResResult()
老师同意申请的结果返回(上麦人数超限)
在老师使用speak_apply_res同意某人的举手时,如音视频并发已达上限speak_apply_res将不会被处理,
无论成功与否此次操作的结果都将通过speak_apply_res_result告知老师(用于UI上的状态变化)。
|
io.reactivex.Observable<LPSpeakInviteModel> |
getObservableOfSpeakInvite()
邀请发言
|
io.reactivex.Observable<LPSpeakInviteConfirmModel> |
getObservableOfSpeakInviteRes()
学生是否接受的响应
|
io.reactivex.Observable<IMediaControlModel> |
getObservableOfSpeakResponse()
学生监听agreeSpeakApply或者disagreeSpeakApply
|
io.reactivex.Observable<java.lang.Boolean> |
getObservableOfStopAsCamera()
结束投屏
|
io.reactivex.Observable<java.lang.Boolean> |
getObservableOfWebrtcMode()
join/leave webrtc监听 true: join; false:leave
|
java.lang.String |
getPresenter()
获得主讲人
|
io.reactivex.Observable<java.lang.Boolean> |
getPublishSubjectOfDrawingAuth()
老师助教和学生接收学生画笔权限改变通知
|
io.reactivex.Observable<java.lang.Boolean> |
getPublishSubjectOfStudentDrawingAuth()
学生接收画笔权限改变通知
|
IUserModel |
getReplacedUser()
被替换用户
|
java.util.List<IMediaModel> |
getSpeakQueueList()
发言列表
|
java.util.Set<java.lang.String> |
getStudentsDrawingAuthSet()
老师,助教调用 返回学生画笔权限列表,包含所有拥有画笔权限的学生userNumber
|
java.util.Set<java.lang.String> |
getVerticalMirrorModeSet()
获取垂直翻转的台上用户userNumber
|
boolean |
hasAsCameraUser()
是否有外接设备在推流
|
boolean |
isCloseOldPresenterMedia()
是否关闭之前主讲人的音视频
|
boolean |
isMixModeOn()
当前是否处于拉合流模式
|
boolean |
isMixScreenShowOtherUser()
是否显示合流中除主屏的其他人视频
|
boolean |
isMixStreamClass() |
boolean |
isPresenterUser(IUserModel user) |
boolean |
isReplacedUser()
自己是否是被外接设备替换用户
|
boolean |
isSpeakersFull()
是否达到最大上麦人数
|
boolean |
isSupportMixStreaming() |
void |
onClassStart() |
void |
requestActiveUsers()
获取发言列表
|
void |
requestMirrorModeAllSwitch(boolean horizonMirrorMode,
boolean verticalMirrorMode)
全体镜像翻转
|
void |
requestMirrorModeSwitch(java.lang.String userNumber,
java.lang.String userId,
boolean horizonMirrorMode,
boolean verticalMirrorMode)
单个镜像翻转
|
void |
requestMixScreenChange(boolean showOtherUser)
发送信令
|
void |
requestSpeakApply()
举手
|
void |
requestSpeakApply(OnSpeakApplyCountDownListener listener) |
LPError |
requestStudentDrawingAuthChange(boolean grantDrawing,
java.lang.String userNumber)
老师,助教请求改变画笔权限
|
void |
requestSwitchPresenter(java.lang.String userId)
主讲人切换
|
void |
sendSpeakInvite(int confirm)
学生响应是否接受老师邀请发言
|
boolean |
sendSpeakInviteReq(java.lang.String userId,
boolean invite)
老师邀请学生发言
|
void |
setMixModeOn(boolean mixModeOn)
设置合流模式
|
void |
setWebrtcMode(boolean isWebrtc)
设置是否使用webrtc推拉流
|
void |
start() |
void |
stopAsCameraUser()
结束投屏
|
void |
stopPublish()
本地停止推流
|
correspondingEvents, lifecycle, peekLifecycle, requestScope
public static final java.lang.String FAKE_MIX_STREAM_USER_ID
public LPSpeakQueueViewModel(LPSDKContext context)
public void start()
start
在接口中 SpeakQueueVM
public void onClassStart()
public void destroy()
destroy
在接口中 SpeakQueueVM
destroy
在类中 LPBaseViewModel
public io.reactivex.Observable<java.util.List<IMediaModel>> getObservableOfActiveUsers()
SpeakQueueVM
getObservableOfActiveUsers
在接口中 SpeakQueueVM
public void requestActiveUsers()
SpeakQueueVM
requestActiveUsers
在接口中 SpeakQueueVM
public void controlRemoteSpeak(java.lang.String userId, boolean isVideoOn, boolean isAudioOn)
controlRemoteSpeak
在接口中 SpeakQueueVM
public boolean controlRemoteUser(java.lang.String userId, boolean isVideoOn, boolean isAudioOn)
SpeakQueueVM
controlRemoteUser
在接口中 SpeakQueueVM
userId
- 学生idisVideoOn
- 是否打开视频isAudioOn
- 是否打开音频public void requestSpeakApply()
SpeakQueueVM
requestSpeakApply
在接口中 SpeakQueueVM
public void requestSpeakApply(OnSpeakApplyCountDownListener listener)
requestSpeakApply
在接口中 SpeakQueueVM
public void closeOtherSpeak(java.lang.String userId)
SpeakQueueVM
closeOtherSpeak
在接口中 SpeakQueueVM
public io.reactivex.Observable<IMediaModel> getObservableOfSpeakApply()
SpeakQueueVM
getObservableOfSpeakApply
在接口中 SpeakQueueVM
@Deprecated public io.reactivex.Observable<IMediaModel> getObservableOfSpeakApplyDeny()
SpeakQueueVM
getObservableOfSpeakApplyDeny
在接口中 SpeakQueueVM
public void agreeSpeakApply(java.lang.String userId)
SpeakQueueVM
agreeSpeakApply
在接口中 SpeakQueueVM
public void disagreeSpeakApply(java.lang.String userId)
SpeakQueueVM
disagreeSpeakApply
在接口中 SpeakQueueVM
public void cancelSpeakApply()
SpeakQueueVM
cancelSpeakApply
在接口中 SpeakQueueVM
public boolean isCloseOldPresenterMedia()
SpeakQueueVM
isCloseOldPresenterMedia
在接口中 SpeakQueueVM
public io.reactivex.Observable<IMediaControlModel> getObservableOfSpeakResponse()
SpeakQueueVM
getObservableOfSpeakResponse
在接口中 SpeakQueueVM
public io.reactivex.subjects.PublishSubject<IMediaModel> getObservableOfMediaPublish()
SpeakQueueVM
getObservableOfMediaPublish
在接口中 SpeakQueueVM
public io.reactivex.subjects.PublishSubject<IMediaModel> getObservableOfMixModeMediaPublish()
SpeakQueueVM
public io.reactivex.subjects.PublishSubject<IUserModel> getObservableOfMixModePresenterChange()
SpeakQueueVM
getObservableOfMixModePresenterChange
在接口中 SpeakQueueVM
public io.reactivex.Observable<IMediaModel> getObservableOfMediaDeny()
SpeakQueueVM
getObservableOfMediaDeny
在接口中 SpeakQueueVM
public io.reactivex.Observable<IMediaControlModel> getObservableOfMediaControl()
SpeakQueueVM
getObservableOfMediaControl
在接口中 SpeakQueueVM
public io.reactivex.Observable<IMediaControlModel> getObservableOfMediaControlDeny()
SpeakQueueVM
getObservableOfMediaControlDeny
在接口中 SpeakQueueVM
public void requestSwitchPresenter(java.lang.String userId)
SpeakQueueVM
requestSwitchPresenter
在接口中 SpeakQueueVM
userId
- 被切换为主讲人的userIdpublic java.util.List<IMediaModel> getSpeakQueueList()
SpeakQueueVM
getSpeakQueueList
在接口中 SpeakQueueVM
public java.util.List<IUserModel> getApplyList()
SpeakQueueVM
getApplyList
在接口中 SpeakQueueVM
public java.util.Set<java.lang.String> getStudentsDrawingAuthSet()
SpeakQueueVM
getStudentsDrawingAuthSet
在接口中 SpeakQueueVM
public LPError requestStudentDrawingAuthChange(boolean grantDrawing, java.lang.String userNumber)
SpeakQueueVM
requestStudentDrawingAuthChange
在接口中 SpeakQueueVM
grantDrawing
- 是否授权画笔,true授权,false收回授权userNumber
- 发送被改变权限人的userNumber
LPError.CODE_ERROR_INVALID_USER_ROLE
角色权限错误
LPError.CODE_ERROR_INVALID_ARGUMENT
传入参数错误@Nullable public java.lang.String getPresenter()
SpeakQueueVM
getPresenter
在接口中 SpeakQueueVM
public boolean isPresenterUser(IUserModel user)
isPresenterUser
在接口中 SpeakQueueVM
public io.reactivex.Flowable<java.lang.String> getObservableOfPresenterChange()
SpeakQueueVM
getObservableOfPresenterChange
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.String> getObservableOfPresenterIn()
SpeakQueueVM
getObservableOfPresenterIn
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.Boolean> getPublishSubjectOfStudentDrawingAuth()
SpeakQueueVM
getPublishSubjectOfStudentDrawingAuth
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.Boolean> getPublishSubjectOfDrawingAuth()
SpeakQueueVM
getPublishSubjectOfDrawingAuth
在接口中 SpeakQueueVM
public boolean getDrawingAuth()
SpeakQueueVM
getDrawingAuth
在接口中 SpeakQueueVM
public IMediaModel getMixedStreamingModel()
SpeakQueueVM
getMixedStreamingModel
在接口中 SpeakQueueVM
public boolean isMixModeOn()
SpeakQueueVM
isMixModeOn
在接口中 SpeakQueueVM
public boolean isSupportMixStreaming()
isSupportMixStreaming
在接口中 SpeakQueueVM
public boolean isMixStreamClass()
isMixStreamClass
在接口中 SpeakQueueVM
public void sendSpeakInvite(int confirm)
SpeakQueueVM
sendSpeakInvite
在接口中 SpeakQueueVM
public boolean sendSpeakInviteReq(java.lang.String userId, boolean invite)
SpeakQueueVM
sendSpeakInviteReq
在接口中 SpeakQueueVM
invite
- true 邀请 false取消邀请public io.reactivex.Observable<LPSpeakInviteModel> getObservableOfSpeakInvite()
getObservableOfSpeakInvite
在接口中 SpeakQueueVM
public io.reactivex.Observable<LPSpeakInviteConfirmModel> getObservableOfSpeakInviteRes()
getObservableOfSpeakInviteRes
在接口中 SpeakQueueVM
public boolean isSpeakersFull()
SpeakQueueVM
isSpeakersFull
在接口中 SpeakQueueVM
public io.reactivex.Observable<IMediaControlModel> getObservableOfSpeakApplyResResult()
SpeakQueueVM
在老师使用speak_apply_res同意某人的举手时,如音视频并发已达上限speak_apply_res将不会被处理, 无论成功与否此次操作的结果都将通过speak_apply_res_result告知老师(用于UI上的状态变化)。
getObservableOfSpeakApplyResResult
在接口中 SpeakQueueVM
public java.util.List<IMediaModel> getActiveUserList()
SpeakQueueVM
getActiveUserList
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.Boolean> getObservableOfWebrtcMode()
SpeakQueueVM
getObservableOfWebrtcMode
在接口中 SpeakQueueVM
public void setMixModeOn(boolean mixModeOn)
SpeakQueueVM
setMixModeOn
在接口中 SpeakQueueVM
public void setWebrtcMode(boolean isWebrtc)
SpeakQueueVM
setWebrtcMode
在接口中 SpeakQueueVM
public void stopPublish()
SpeakQueueVM
stopPublish
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.String> getObservableOfAsCameraUrl(int replaceMediaType)
SpeakQueueVM
getObservableOfAsCameraUrl
在接口中 SpeakQueueVM
public boolean enableAttachPhoneCamera()
SpeakQueueVM
enableAttachPhoneCamera
在接口中 SpeakQueueVM
public boolean hasAsCameraUser()
SpeakQueueVM
hasAsCameraUser
在接口中 SpeakQueueVM
public IMediaModel getAsCameraModel()
SpeakQueueVM
getAsCameraModel
在接口中 SpeakQueueVM
public IUserModel getReplacedUser()
SpeakQueueVM
getReplacedUser
在接口中 SpeakQueueVM
public boolean isReplacedUser()
SpeakQueueVM
isReplacedUser
在接口中 SpeakQueueVM
public boolean enableAsCamera()
SpeakQueueVM
enableAsCamera
在接口中 SpeakQueueVM
public void stopAsCameraUser()
SpeakQueueVM
stopAsCameraUser
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.Boolean> getObservableOfStopAsCamera()
SpeakQueueVM
getObservableOfStopAsCamera
在接口中 SpeakQueueVM
public java.util.Set<java.lang.String> getHorizontalMirrorModeSet()
SpeakQueueVM
getHorizontalMirrorModeSet
在接口中 SpeakQueueVM
public java.util.Set<java.lang.String> getVerticalMirrorModeSet()
SpeakQueueVM
getVerticalMirrorModeSet
在接口中 SpeakQueueVM
public io.reactivex.Observable<com.baijiayun.bjyrtcengine.Defines.BJYRtcCommon.VideoMirrorMode> getObservableOfMySelfMirrorMode()
SpeakQueueVM
getObservableOfMySelfMirrorMode
在接口中 SpeakQueueVM
public io.reactivex.Observable<LPMirrorModeModel> getObservableOfMirrorMode()
SpeakQueueVM
getObservableOfMirrorMode
在接口中 SpeakQueueVM
public void requestMirrorModeAllSwitch(boolean horizonMirrorMode, boolean verticalMirrorMode)
SpeakQueueVM
requestMirrorModeAllSwitch
在接口中 SpeakQueueVM
public void requestMirrorModeSwitch(java.lang.String userNumber, java.lang.String userId, boolean horizonMirrorMode, boolean verticalMirrorMode)
SpeakQueueVM
requestMirrorModeSwitch
在接口中 SpeakQueueVM
public boolean enableWarmingUpVideo()
SpeakQueueVM
enableWarmingUpVideo
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.Boolean> getObservableOfEnableWarmingUpVideo()
SpeakQueueVM
getObservableOfEnableWarmingUpVideo
在接口中 SpeakQueueVM
public void requestMixScreenChange(boolean showOtherUser)
SpeakQueueVM
requestMixScreenChange
在接口中 SpeakQueueVM
showOtherUser
- 是否显示合流中除主屏的其他人视频public boolean isMixScreenShowOtherUser()
SpeakQueueVM
isMixScreenShowOtherUser
在接口中 SpeakQueueVM
public io.reactivex.Observable<java.lang.Boolean> getObservableOfMixScreenShowOtherUser()
SpeakQueueVM
getObservableOfMixScreenShowOtherUser
在接口中 SpeakQueueVM