@polyvharmony/live-scenes-sdk 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/BuildProfile.d.ets +4 -4
  2. package/CHANGELOG.md +27 -0
  3. package/ets/modules.abc +0 -0
  4. package/oh-package.json5 +1 -1
  5. package/package.json +1 -1
  6. package/src/main/ets/modules/chatroom/PLVChatroomManager.d.ets +1 -1
  7. package/src/main/ets/modules/chatroom/playback/model/PLVChatPlaybackDataVO.d.ets +1 -1
  8. package/src/main/ets/modules/linkmic/PLVLinkMicManager.d.ets +19 -0
  9. package/src/main/ets/modules/linkmic/di/PLVLinkMicModule.d.ets +10 -0
  10. package/src/main/ets/modules/linkmic/mediator/PLVLinkMicMediator.d.ets +67 -0
  11. package/src/main/ets/modules/linkmic/mediator/PLVLinkMicRTCEventCallback.d.ets +5 -0
  12. package/src/main/ets/modules/linkmic/model/PLVLinkMicRepo.d.ets +11 -0
  13. package/src/main/ets/modules/linkmic/model/datasource/PLVLinkMicNetworkDataSource.d.ets +3 -0
  14. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicBitRate.d.ets +3 -0
  15. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicBitRateEncodeParam.d.ets +3 -0
  16. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicCameraFacing.d.ets +3 -0
  17. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicChannelStatus.d.ets +3 -0
  18. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicErrorEvent.d.ets +3 -0
  19. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicInteractEvent.d.ets +3 -0
  20. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicMode.d.ets +3 -0
  21. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicPushResolutionRatio.d.ets +3 -0
  22. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicRTCEvent.d.ets +12 -0
  23. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicRTCType.d.ets +3 -0
  24. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicSocketEvent.d.ets +69 -0
  25. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicState.d.ets +3 -0
  26. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicVideoRenderParam.d.ets +3 -0
  27. package/src/main/ets/modules/linkmic/model/vo/PLVLinkMicViewer.d.ets +3 -0
  28. package/src/main/ets/modules/linkmic/viewmodel/PLVLinkMicViewModel.d.ets +59 -0
  29. package/src/main/ets/modules/linkmic/viewmodel/usecase/LinkMicEncodeParamUseCase.d.ets +21 -1
  30. package/src/main/ets/modules/linkmic/viewmodel/usecase/LinkMicHandleQueueOrderUseCase.d.ets +3 -0
  31. package/src/main/ets/modules/linkmic/viewmodel/usecase/LinkMicHandleRTCUseCase.d.ets +17 -0
  32. package/src/main/ets/modules/linkmic/viewmodel/usecase/LinkMicHandleStateUseCase.d.ets +48 -0
  33. package/src/main/ets/modules/linkmic/viewmodel/usecase/LinkMicUpdateChannelViewerUseCase.d.ets +21 -0
  34. package/src/main/ets/modules/linkmic/viewmodel/usecase/LinkMicViewLogUseCase.d.ets +9 -0
  35. package/src/main/ets/modules/linkmic/viewmodel/usecase/PLVLinkMicUseCases.d.ets +6 -0
  36. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/base/ILinkMicEncodeParamUseCase.d.ets +19 -0
  37. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/base/ILinkMicHandleRTCUseCase.d.ets +17 -0
  38. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/base/ILinkMicHandleStateUseCase.d.ets +48 -0
  39. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/guest/LinkMicGuestEncodeParamUseCase.d.ets +26 -6
  40. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/guest/LinkMicGuestHandleRTCUseCase.d.ets +24 -7
  41. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/guest/LinkMicGuestHandleStateUseCase.d.ets +55 -10
  42. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/teacher/LinkMicTeacherEncodeParamUseCase.d.ets +26 -6
  43. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/teacher/LinkMicTeacherHandleRTCUseCase.d.ets +24 -7
  44. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/teacher/LinkMicTeacherHandleStateUseCase.d.ets +55 -10
  45. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/viewer/LinkMicViewerEncodeParamUseCase.d.ets +25 -6
  46. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/viewer/LinkMicViewerHandleRTCUseCase.d.ets +24 -7
  47. package/src/main/ets/modules/linkmic/viewmodel/usecase/roles/viewer/LinkMicViewerHandleStateUseCase.d.ets +55 -10
  48. package/src/main/ets/modules/log/elog/PLVELogSender.d.ets +4 -4
  49. package/src/main/ets/modules/log/elog/model/PLVELogDataBean.d.ets +1 -1
  50. package/src/main/ets/modules/login/PLVSceneLoginManager.d.ets +3 -3
  51. package/src/main/ets/modules/login/model/PLVChatDomainVO.d.ets +2 -2
  52. package/src/main/ets/modules/login/model/PLVLiveChannelType.d.ets +1 -1
  53. package/src/main/ets/modules/login/model/PLVLiveDetailVO.d.ets +1 -1
  54. package/src/main/ets/modules/login/model/PLVLiveStatus.d.ets +1 -1
  55. package/src/main/ets/modules/login/model/PLVLiveStatusVO.d.ets +2 -2
  56. package/src/main/ets/modules/login/model/PLVLoginLiveResult.d.ets +1 -1
  57. package/src/main/ets/modules/login/model/PLVLoginPlaybackResult.d.ets +1 -1
  58. package/src/main/ets/modules/login/model/PLVLoginType.d.ets +2 -2
  59. package/src/main/ets/modules/member/PLVMemberManager.d.ets +3 -3
  60. package/src/main/ets/modules/member/mediator/PLVMemberMediator.d.ets +3 -3
  61. package/src/main/ets/modules/member/model/PLVMemberRepo.d.ets +2 -2
  62. package/src/main/ets/modules/member/model/datasource/PLVMemberNetworkDataSource.d.ets +2 -2
  63. package/src/main/ets/modules/member/model/vo/PLVMemberChannelViewer.d.ets +1 -1
  64. package/src/main/ets/modules/member/model/vo/PLVMemberErrorEvent.d.ets +1 -1
  65. package/src/main/ets/modules/member/viewmodel/PLVMemberViewModel.d.ets +3 -3
  66. package/src/main/ets/modules/member/viewmodel/usecase/MemberHandleStateUseCase.d.ets +6 -6
  67. package/src/main/ets/modules/member/viewmodel/usecase/MemberUpdateViewerUseCase.d.ets +9 -9
  68. package/src/main/ets/modules/member/viewmodel/usecase/PLVMemberUseCases.d.ets +1 -1
  69. package/src/main/ets/modules/member/viewmodel/usecase/roles/guest/MemberGuestHandleStateUseCase.d.ets +6 -6
  70. package/src/main/ets/modules/member/viewmodel/usecase/roles/guest/MemberGuestUpdateViewerUseCase.d.ets +9 -9
  71. package/src/main/ets/modules/member/viewmodel/usecase/roles/teacher/MemberTeacherHandleStateUseCase.d.ets +6 -6
  72. package/src/main/ets/modules/member/viewmodel/usecase/roles/teacher/MemberTeacherUpdateViewerUseCase.d.ets +9 -9
  73. package/src/main/ets/modules/net/PLVApiChatPlvNetApi.d.ets +10 -10
  74. package/src/main/ets/modules/net/PLVApiPlvNetApi.d.ets +31 -31
  75. package/src/main/ets/modules/net/PLVELogPlvNetApi.d.ets +2 -2
  76. package/src/main/ets/modules/net/PLVLiveImagesVideoNetApi.d.ets +3 -3
  77. package/src/main/ets/modules/net/PLVNGBPushApi.d.ets +2 -2
  78. package/src/main/ets/modules/net/PLVRtasVideoNetApi.d.ets +2 -2
  79. package/src/main/ets/modules/player/PLVPlayerManager.d.ets +3 -3
  80. package/src/main/ets/modules/player/PLVPlayerMediator.d.ets +1 -1
  81. package/src/main/ets/modules/player/playback/PLVPreviousManager.d.ets +5 -5
  82. package/src/main/ets/modules/ppt/PLVPPTWebController.d.ets +6 -6
  83. package/src/main/ets/modules/product/PLVProductManager.d.ets +5 -5
  84. package/src/main/ets/modules/product/components/PLVProductControlWeb.d.ets +1 -1
  85. package/src/main/ets/modules/product/components/PLVProductWeb.d.ets +1 -1
  86. package/src/main/ets/modules/product/model/PLVProductContentBean.d.ets +1 -1
  87. package/src/main/ets/modules/product/model/PLVProductDataBean.d.ets +1 -1
  88. package/src/main/ets/modules/redpack/PLVRedpackManager.d.ets +9 -9
  89. package/src/main/ets/modules/redpack/database/PLVRedpackCacheVO.d.ets +1 -1
  90. package/src/main/ets/modules/redpack/database/PLVRedpackLocalDataSource.d.ets +4 -4
  91. package/src/main/ets/modules/redpack/database/PLVRedpackOpenHelper.d.ets +4 -4
  92. package/src/main/ets/modules/reward/PLVRewardManager.d.ets +2 -2
  93. package/src/main/ets/modules/reward/model/PLVRewardPointVO.d.ets +1 -1
  94. package/src/main/ets/modules/socket/PLVSocketManager.d.ets +8 -8
  95. package/src/main/ets/modules/socket/PLVSocketMediator.d.ets +7 -7
  96. package/src/main/ets/modules/socket/model/PLVSocketUserBean.d.ets +5 -5
  97. package/src/main/ets/modules/socket/model/redpack/RedPaperReceiveType.d.ets +4 -4
  98. package/src/main/ets/modules/streamer/PLVStreamerManager.d.ets +28 -9
  99. package/src/main/ets/modules/streamer/di/PLVStreamerModule.d.ets +7 -0
  100. package/src/main/ets/modules/streamer/mediator/PLVStreamerMediator.d.ets +19 -2
  101. package/src/main/ets/modules/streamer/model/PLVStreamerRepo.d.ets +27 -10
  102. package/src/main/ets/modules/streamer/model/datasource/PLVStreamerLocalDataSource.d.ets +5 -2
  103. package/src/main/ets/modules/streamer/model/datasource/PLVStreamerNetworkDataSource.d.ets +19 -10
  104. package/src/main/ets/modules/streamer/model/vo/PLVStreamerErrorEvent.d.ets +4 -1
  105. package/src/main/ets/modules/streamer/model/vo/PLVStreamerLiveStatusResponseVO.d.ts +3 -0
  106. package/src/main/ets/modules/streamer/model/vo/PLVStreamerMixActionResponse.d.ets +3 -0
  107. package/src/main/ets/modules/streamer/model/vo/PLVStreamerMixActionVO.d.ets +27 -0
  108. package/src/main/ets/modules/streamer/model/vo/PLVStreamerMixLayoutType.d.ets +3 -0
  109. package/src/main/ets/modules/streamer/model/vo/PLVStreamerSessionIdQueryResponse.d.ets +3 -0
  110. package/src/main/ets/modules/streamer/model/vo/PLVStreamerSocketEvent.d.ets +21 -0
  111. package/src/main/ets/modules/streamer/model/vo/PLVStreamerState.d.ets +3 -0
  112. package/src/main/ets/modules/streamer/viewmodel/PLVStreamerViewModel.d.ets +50 -9
  113. package/src/main/ets/modules/streamer/viewmodel/usecase/PLVStreamerUseCases.d.ets +7 -1
  114. package/src/main/ets/modules/streamer/viewmodel/usecase/StreamerHandleStateUseCase.d.ets +17 -2
  115. package/src/main/ets/modules/streamer/viewmodel/usecase/StreamerMixStreamUseCase.d.ets +11 -2
  116. package/src/main/ets/modules/streamer/viewmodel/usecase/StreamerUpdateSplashImageUseCase.d.ets +8 -2
  117. package/src/main/ets/modules/streamer/viewmodel/usecase/roles/base/IStreamerHandleStateUseCase.d.ets +15 -0
  118. package/src/main/ets/modules/streamer/viewmodel/usecase/roles/base/IStreamerMixStreamUseCase.d.ets +9 -0
  119. package/src/main/ets/modules/streamer/viewmodel/usecase/roles/guest/StreamerGuestHandleStateUseCase.d.ets +14 -2
  120. package/src/main/ets/modules/streamer/viewmodel/usecase/roles/guest/StreamerGuestMixStreamUseCase.d.ets +11 -2
  121. package/src/main/ets/modules/streamer/viewmodel/usecase/roles/teacher/StreamerTeacherHandleStateUseCase.d.ets +17 -2
  122. package/src/main/ets/modules/streamer/viewmodel/usecase/roles/teacher/StreamerTeacherMixStreamUseCase.d.ets +11 -2
  123. package/src/main/ets/modules/web/PLVSocketWebController.d.ets +2 -2
  124. package/src/main/ets/modules/web/PLVWebControllerManager.d.ets +2 -2
  125. package/src/main/ets/modules/web/PLVWebParams.d.ets +1 -1
  126. package/src/main/ets/modules/web/qa/PLVQAWeb.d.ets +1 -1
  127. package/src/main/ets/modules/web/tuwen/PLVTuwenWeb.d.ets +1 -1
  128. package/src/main/module.json +1 -1
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 状态枚举,定义模块核心业务状态
5
+ */
3
6
  export declare enum PLVLinkMicState {
4
7
  /**
5
8
  * 未连麦状态
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 视频渲染参数模型,描述远端画面渲染所需的用户和视图信息
5
+ */
3
6
  export declare class PLVLinkMicVideoRenderParam {
4
7
  /**
5
8
  * 连麦ID
@@ -1,6 +1,9 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
3
  import { MutableState } from '@polyvharmony/media-player-sdk';
4
+ /**
5
+ * 连麦用户模型,描述本地或频道内连麦成员的关键 RTC 信息
6
+ */
4
7
  export declare class PLVLinkMicViewer {
5
8
  readonly channelId: string;
6
9
  readonly linkmicId: string;
@@ -5,32 +5,91 @@ import { PLVLinkMicRepo } from '../model/PLVLinkMicRepo';
5
5
  import { PLVLinkMicMode } from '../model/vo/PLVLinkMicMode';
6
6
  import { PLVLinkMicVideoRenderParam } from '../model/vo/PLVLinkMicVideoRenderParam';
7
7
  import { PLVLinkMicUseCases } from './usecase/PLVLinkMicUseCases';
8
+ /**
9
+ * 模块视图模型,承接 Manager 调用并分发到具体 UseCase
10
+ */
8
11
  export declare class PLVLinkMicViewModel {
9
12
  private readonly repo;
10
13
  private readonly useCases;
11
14
  constructor(i28: PLVLinkMicRepo, j28: PLVLinkMicUseCases);
15
+ /**
16
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
17
+ */
12
18
  init(): Promise<void>;
19
+ /**
20
+ * 申请加入连麦,实际行为由当前登录角色对应的状态用例决定。
21
+ */
13
22
  requestLinkMic(): void;
23
+ /**
24
+ * 接受讲师连麦邀请,并进入当前角色对应的上麦流程。
25
+ */
14
26
  acceptLinkMicInvitation(): void;
27
+ /**
28
+ * 拒绝讲师连麦邀请,同时向聊天室同步拒绝结果。
29
+ */
15
30
  refuseLinkMicInvitation(): void;
31
+ /**
32
+ * 主动离开连麦,内部会按角色执行退房和状态清理。
33
+ */
16
34
  leaveLinkMic(): void;
35
+ /**
36
+ * 设置频道连麦模式。新版策略下切换模式可能需要关闭或重开举手入口。
37
+ */
17
38
  setLinkMicMode(h28: PLVLinkMicMode): Promise<boolean>;
39
+ /**
40
+ * 开启连麦入口,允许观众或嘉宾按当前频道策略申请上麦。
41
+ */
18
42
  openLinkMic(): Promise<boolean>;
43
+ /**
44
+ * 关闭连麦入口,并按策略决定是否保留讲师自身的连麦能力。
45
+ */
19
46
  closeLinkMic(): Promise<boolean>;
47
+ /**
48
+ * 讲师接受指定观众的连麦申请。
49
+ */
20
50
  acceptViewerLinkMicRequest(g28: string): void;
51
+ /**
52
+ * 讲师邀请指定观众上麦,可选择是否需要对方确认。
53
+ */
21
54
  inviteViewerLinkMic(e28: string, f28: boolean): void;
55
+ /**
56
+ * 讲师挂断指定观众的连麦。
57
+ */
22
58
  hangupViewerLinkMic(d28: string): void;
59
+ /**
60
+ * 讲师发起全体下麦。
61
+ */
23
62
  hangupAllViewersLinkMic(): void;
63
+ /**
64
+ * 讲师控制指定观众摄像头开关。
65
+ */
24
66
  setViewerEnableCamera(b28: string, c28: boolean): void;
67
+ /**
68
+ * 讲师控制指定观众麦克风开关。
69
+ */
25
70
  setViewerEnableMicrophone(z27: string, a28: boolean): void;
71
+ /**
72
+ * 授予指定观众主讲权限,并同步主画面。
73
+ */
26
74
  grantSpeaker(y27: string): void;
75
+ /**
76
+ * 收回主讲权限,将主讲和主画面切回讲师。
77
+ */
27
78
  revokeSpeaker(x27: string): void;
79
+ /**
80
+ * 设置频道主画面用户。
81
+ */
28
82
  setMainView(w27: string): void;
29
83
  enableCamera(v27: boolean): void;
30
84
  enableMicrophone(u27: boolean): void;
31
85
  enableCameraMicrophoneToLastState(): void;
32
86
  switchCamera(): void;
87
+ startScreenCapture(): number;
88
+ stopScreenCapture(): number;
33
89
  setLocalMirror(t27: boolean): void;
90
+ /**
91
+ * 设置当前推流方向。
92
+ */
34
93
  setPushOrientation(s27: PLVPushOrientation): void;
35
94
  setupVideoRender(r27: PLVLinkMicVideoRenderParam): void;
36
95
  removeVideoRender(q27: PLVLinkMicVideoRenderParam): void;
@@ -5,14 +5,34 @@ import { ILinkMicEncodeParamUseCase } from './roles/base/ILinkMicEncodeParamUseC
5
5
  import { PLVLinkMicBitRate } from '../../model/vo/PLVLinkMicBitRate';
6
6
  import { PLVLinkMicPushResolutionRatio } from '../../model/vo/PLVLinkMicPushResolutionRatio';
7
7
  import { PLVPushDowngradePreference, PLVPushOrientation } from '@polyvharmony/rtc-sdk';
8
- export declare class LinkMicEncodeParamUseCase implements ILinkMicEncodeParamUseCase {
8
+ import { LifecycleAwareDependComponent } from '@polyvharmony/media-player-sdk';
9
+ /**
10
+ * 编码参数用例,负责根据频道配置和当前设置计算 RTC 推流编码参数
11
+ */
12
+ export declare class LinkMicEncodeParamUseCase implements ILinkMicEncodeParamUseCase, LifecycleAwareDependComponent {
9
13
  private readonly repo;
10
14
  private impl;
11
15
  constructor(u28: PLVLinkMicRepo);
16
+ /**
17
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
18
+ */
12
19
  init(): void;
20
+ /**
21
+ * 设置当前推流码率档位。
22
+ */
13
23
  setBitRate(s28: PLVLinkMicBitRate): void;
24
+ /**
25
+ * 设置当前推流画面比例。
26
+ */
14
27
  setPushResolutionRatio(r28: PLVLinkMicPushResolutionRatio): void;
28
+ /**
29
+ * 设置当前推流方向。
30
+ */
15
31
  setPushOrientation(q28: PLVPushOrientation): void;
16
32
  setPushMirror(p28: boolean): void;
33
+ /**
34
+ * 设置弱网场景下优先保清晰度还是保流畅度。
35
+ */
17
36
  setPushDowngradePreference(o28: PLVPushDowngradePreference): void;
37
+ onDestroy(): void;
18
38
  }
@@ -2,6 +2,9 @@
2
2
  // @ts-nocheck
3
3
  import { PLVLinkMicRepo } from '../../model/PLVLinkMicRepo';
4
4
  import { PLVLinkMicSocketJoinLeaveRecv, PLVLinkMicSocketJoinRequestRecv, PLVLinkMicSocketJoinSuccessRecv } from '../../model/vo/PLVLinkMicSocketEvent';
5
+ /**
6
+ * 连麦排队序号用例,负责维护观众申请连麦后的等待位置
7
+ */
5
8
  export declare class LinkMicHandleQueueOrderUseCase {
6
9
  private readonly repo;
7
10
  constructor(h29: PLVLinkMicRepo);
@@ -5,22 +5,39 @@ import { PLVRTCClientRole } from '@polyvharmony/rtc-sdk';
5
5
  import { PLVLinkMicRepo } from '../../model/PLVLinkMicRepo';
6
6
  import { PLVLinkMicVideoRenderParam } from '../../model/vo/PLVLinkMicVideoRenderParam';
7
7
  import { ILinkMicHandleRTCUseCase } from './roles/base/ILinkMicHandleRTCUseCase';
8
+ /**
9
+ * RTC 处理用例,封装连麦 RTC 加房、退房、发布、订阅和媒体控制
10
+ */
8
11
  export declare class LinkMicHandleRTCUseCase implements ILinkMicHandleRTCUseCase, LifecycleAwareDependComponent {
9
12
  private readonly repo;
10
13
  private observers;
11
14
  private impl;
12
15
  constructor(q29: PLVLinkMicRepo);
16
+ /**
17
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
18
+ */
13
19
  init(): void;
20
+ /**
21
+ * 加入 RTC 房间并根据角色发布或订阅音视频流。
22
+ */
14
23
  joinChannel(): void;
24
+ /**
25
+ * 退出 RTC 房间并清理本地/远端媒体状态。
26
+ */
15
27
  leaveChannel(): void;
16
28
  switchRole(n29: PLVRTCClientRole): void;
17
29
  enableCamera(m29: boolean): void;
18
30
  enableMicrophone(l29: boolean): void;
19
31
  enableCameraMicrophoneToLastState(): void;
20
32
  switchCamera(): void;
33
+ startScreenCapture(): number;
34
+ stopScreenCapture(): number;
21
35
  setLocalRenderMirror(k29: boolean): void;
22
36
  setupVideoRender(j29: PLVLinkMicVideoRenderParam): void;
23
37
  removeVideoRender(i29: PLVLinkMicVideoRenderParam): void;
38
+ /**
39
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
40
+ */
24
41
  onDestroy(): void;
25
42
  private renewToken;
26
43
  }
@@ -7,6 +7,9 @@ import { LinkMicHandleQueueOrderUseCase } from './LinkMicHandleQueueOrderUseCase
7
7
  import { LinkMicHandleRTCUseCase } from './LinkMicHandleRTCUseCase';
8
8
  import { LinkMicUpdateChannelViewerUseCase } from './LinkMicUpdateChannelViewerUseCase';
9
9
  import { PLVLinkMicMode } from '../../model/vo/PLVLinkMicMode';
10
+ /**
11
+ * 连麦/推流状态处理用例,负责角色相关的状态流转和 socket 协议交互
12
+ */
10
13
  export declare class LinkMicHandleStateUseCase implements ILinkMicHandleStateUseCase, LifecycleAwareDependComponent {
11
14
  private readonly repo;
12
15
  private readonly handleQueueOrderUseCase;
@@ -14,27 +17,72 @@ export declare class LinkMicHandleStateUseCase implements ILinkMicHandleStateUse
14
17
  private readonly updateChannelViewerUseCase;
15
18
  private impl;
16
19
  constructor(e30: PLVLinkMicRepo, f30: LinkMicHandleQueueOrderUseCase, g30: LinkMicHandleRTCUseCase, h30: LinkMicUpdateChannelViewerUseCase);
20
+ /**
21
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
22
+ */
17
23
  init(): void;
18
24
  requestJoinLinkMic(): Promise<void>;
19
25
  acceptInvitation(): Promise<void>;
20
26
  refuseInvitation(): void;
27
+ /**
28
+ * 主动离开连麦,内部会按角色执行退房和状态清理。
29
+ */
21
30
  leaveLinkMic(): void;
22
31
  onStreamerStart(): void;
23
32
  onLiveStreamStart(): void;
33
+ /**
34
+ * 设置频道连麦模式。新版策略下切换模式可能需要关闭或重开举手入口。
35
+ */
24
36
  setLinkMicMode(c30: PLVLinkMicMode): Promise<boolean>;
37
+ /**
38
+ * 开启连麦入口,允许观众或嘉宾按当前频道策略申请上麦。
39
+ */
25
40
  openLinkMic(): Promise<boolean>;
41
+ /**
42
+ * 关闭连麦入口,并按策略决定是否保留讲师自身的连麦能力。
43
+ */
26
44
  closeLinkMic(): Promise<boolean>;
45
+ /**
46
+ * 讲师接受指定观众的连麦申请。
47
+ */
27
48
  acceptViewerLinkMicRequest(b30: string): void;
49
+ /**
50
+ * 讲师邀请指定观众上麦,可选择是否需要对方确认。
51
+ */
28
52
  inviteViewerLinkMic(z29: string, a30: boolean): void;
53
+ /**
54
+ * 讲师挂断指定观众的连麦。
55
+ */
29
56
  hangupViewerLinkMic(y29: string): void;
57
+ /**
58
+ * 讲师发起全体下麦。
59
+ */
30
60
  hangupAllViewersLinkMic(): void;
61
+ /**
62
+ * 讲师控制指定观众摄像头开关。
63
+ */
31
64
  setViewerEnableCamera(w29: string, x29: boolean): void;
65
+ /**
66
+ * 讲师控制指定观众麦克风开关。
67
+ */
32
68
  setViewerEnableMicrophone(u29: string, v29: boolean): void;
69
+ /**
70
+ * 授予指定观众主讲权限,并同步主画面。
71
+ */
33
72
  grantSpeaker(t29: string): void;
73
+ /**
74
+ * 收回主讲权限,将主讲和主画面切回讲师。
75
+ */
34
76
  revokeSpeaker(s29: string): void;
77
+ /**
78
+ * 设置频道主画面用户。
79
+ */
35
80
  setMainView(r29: string): void;
36
81
  onLiveStreamStop(): void;
37
82
  onStreamerStop(): void;
38
83
  updateInvitationExpireTime(): void;
84
+ /**
85
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
86
+ */
39
87
  onDestroy(): void;
40
88
  }
@@ -4,24 +4,45 @@ import { LifecycleAwareDependComponent } from '@polyvharmony/media-player-sdk';
4
4
  import { PLVLinkMicRepo } from '../../model/PLVLinkMicRepo';
5
5
  import { PLVLinkMicSocketJoinLeaveRecv, PLVLinkMicSocketJoinSuccessRecv, PLVLinkMicSocketSwitchViewRecv, PLVLinkMicSocketTeacherSetPermissionRecv } from '../../model/vo/PLVLinkMicSocketEvent';
6
6
  import { PLVLinkMicViewer } from '../../model/vo/PLVLinkMicViewer';
7
+ /**
8
+ * 频道连麦成员刷新用例,负责拉取并合并当前频道连麦成员列表
9
+ */
7
10
  export declare class LinkMicUpdateChannelViewerUseCase implements LifecycleAwareDependComponent {
8
11
  private readonly repo;
9
12
  private taskUpdateChannelLinkMicViewers;
10
13
  private observers;
11
14
  constructor(q32: PLVLinkMicRepo);
15
+ /**
16
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
17
+ */
12
18
  init(): void;
19
+ /**
20
+ * 合并频道连麦成员增删变化,并同步到状态和事件。
21
+ */
13
22
  handleChannelLinkMicViewersUpdate(z31: UpdateChannelLinkMicViewerPayload): void;
14
23
  sortChannelLinkMicViewers(): void;
15
24
  onEventJoinSuccess(r31: PLVLinkMicSocketJoinSuccessRecv): void;
16
25
  onEventJoinLeave(o31: PLVLinkMicSocketJoinLeaveRecv): void;
17
26
  onEventTeacherSetPermission(j31: PLVLinkMicSocketTeacherSetPermissionRecv): void;
18
27
  onEventSwitchView(i31: PLVLinkMicSocketSwitchViewRecv): void;
28
+ /**
29
+ * 启动轮询刷新频道连麦成员列表。
30
+ */
19
31
  startUpdateChannelLinkMicViewersInterval(): void;
32
+ /**
33
+ * 停止轮询刷新频道连麦成员列表。
34
+ */
20
35
  stopUpdateChannelLinkMicViewersInterval(): void;
21
36
  private updateByChannelLinkMicStatus;
37
+ /**
38
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
39
+ */
22
40
  onDestroy(): void;
23
41
  private getViewerSortOrder;
24
42
  }
43
+ /**
44
+ * 频道连麦成员刷新用例,负责拉取并合并当前频道连麦成员列表
45
+ */
25
46
  export declare class UpdateChannelLinkMicViewerPayload {
26
47
  add?: (PLVLinkMicViewer | undefined)[];
27
48
  remove?: (PLVLinkMicViewer | undefined)[];
@@ -2,6 +2,9 @@
2
2
  // @ts-nocheck
3
3
  import { LifecycleAwareDependComponent } from '@polyvharmony/media-player-sdk';
4
4
  import { PLVLinkMicRepo } from '../../model/PLVLinkMicRepo';
5
+ /**
6
+ * 连麦观看日志用例,负责上报连麦过程中的统计数据
7
+ */
5
8
  export declare class LinkMicViewLogUseCase implements LifecycleAwareDependComponent {
6
9
  private readonly repo;
7
10
  private viewLogTask;
@@ -10,10 +13,16 @@ export declare class LinkMicViewLogUseCase implements LifecycleAwareDependCompon
10
13
  private playDuration;
11
14
  private observers;
12
15
  constructor(v32: PLVLinkMicRepo);
16
+ /**
17
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
18
+ */
13
19
  init(): void;
14
20
  private startViewLogTask;
15
21
  private stopViewLogTask;
16
22
  private onViewLogTaskInterval;
17
23
  private sendViewLog;
24
+ /**
25
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
26
+ */
18
27
  onDestroy(): void;
19
28
  }
@@ -6,6 +6,9 @@ import { LinkMicHandleRTCUseCase } from './LinkMicHandleRTCUseCase';
6
6
  import { LinkMicHandleStateUseCase } from './LinkMicHandleStateUseCase';
7
7
  import { LinkMicUpdateChannelViewerUseCase } from './LinkMicUpdateChannelViewerUseCase';
8
8
  import { LinkMicViewLogUseCase } from './LinkMicViewLogUseCase';
9
+ /**
10
+ * UseCase 聚合对象,按角色和职责组合模块业务能力
11
+ */
9
12
  export declare class PLVLinkMicUseCases {
10
13
  readonly handleQueueOrderUseCase: LinkMicHandleQueueOrderUseCase;
11
14
  readonly handleRTCUseCase: LinkMicHandleRTCUseCase;
@@ -14,5 +17,8 @@ export declare class PLVLinkMicUseCases {
14
17
  readonly viewLogUseCase: LinkMicViewLogUseCase;
15
18
  readonly encodeParamUseCase: LinkMicEncodeParamUseCase;
16
19
  constructor(w32: LinkMicHandleQueueOrderUseCase, x32: LinkMicHandleRTCUseCase, y32: LinkMicHandleStateUseCase, z32: LinkMicUpdateChannelViewerUseCase, a33: LinkMicViewLogUseCase, b33: LinkMicEncodeParamUseCase);
20
+ /**
21
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
22
+ */
17
23
  init(): void;
18
24
  }
@@ -3,11 +3,30 @@
3
3
  import { PLVPushDowngradePreference, PLVPushOrientation } from '@polyvharmony/rtc-sdk';
4
4
  import { PLVLinkMicBitRate } from '../../../../model/vo/PLVLinkMicBitRate';
5
5
  import { PLVLinkMicPushResolutionRatio } from '../../../../model/vo/PLVLinkMicPushResolutionRatio';
6
+ /**
7
+ * 编码参数用例,负责根据频道配置和当前设置计算 RTC 推流编码参数
8
+ */
6
9
  export interface ILinkMicEncodeParamUseCase {
10
+ /**
11
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
12
+ */
7
13
  init(): void;
14
+ /**
15
+ * 设置当前推流码率档位。
16
+ */
8
17
  setBitRate(bitRate: PLVLinkMicBitRate): void;
18
+ /**
19
+ * 设置当前推流画面比例。
20
+ */
9
21
  setPushResolutionRatio(pushResolutionRatio: PLVLinkMicPushResolutionRatio): void;
22
+ /**
23
+ * 设置当前推流方向。
24
+ */
10
25
  setPushOrientation(pushOrientation: PLVPushOrientation): void;
11
26
  setPushMirror(isMirror: boolean): void;
27
+ /**
28
+ * 设置弱网场景下优先保清晰度还是保流畅度。
29
+ */
12
30
  setPushDowngradePreference(preference: PLVPushDowngradePreference): void;
31
+ onDestroy(): void;
13
32
  }
@@ -2,17 +2,34 @@
2
2
  // @ts-nocheck
3
3
  import { PLVRTCClientRole } from '@polyvharmony/rtc-sdk';
4
4
  import { PLVLinkMicVideoRenderParam } from '../../../../model/vo/PLVLinkMicVideoRenderParam';
5
+ /**
6
+ * RTC 处理用例,封装连麦 RTC 加房、退房、发布、订阅和媒体控制
7
+ */
5
8
  export interface ILinkMicHandleRTCUseCase {
9
+ /**
10
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
11
+ */
6
12
  init(): void;
13
+ /**
14
+ * 加入 RTC 房间并根据角色发布或订阅音视频流。
15
+ */
7
16
  joinChannel(): void;
17
+ /**
18
+ * 退出 RTC 房间并清理本地/远端媒体状态。
19
+ */
8
20
  leaveChannel(): void;
9
21
  switchRole(role: PLVRTCClientRole): void;
10
22
  enableCamera(enable: boolean): void;
11
23
  enableMicrophone(enable: boolean): void;
12
24
  enableCameraMicrophoneToLastState(): void;
13
25
  switchCamera(): void;
26
+ startScreenCapture(): number;
27
+ stopScreenCapture(): number;
14
28
  setLocalRenderMirror(isMirror: boolean): void;
15
29
  setupVideoRender(renderParam: PLVLinkMicVideoRenderParam): void;
16
30
  removeVideoRender(renderParam: PLVLinkMicVideoRenderParam): void;
31
+ /**
32
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
33
+ */
17
34
  onDestroy(): void;
18
35
  }
@@ -1,28 +1,76 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
3
  import { PLVLinkMicMode } from '../../../../model/vo/PLVLinkMicMode';
4
+ /**
5
+ * 连麦/推流状态处理用例,负责角色相关的状态流转和 socket 协议交互
6
+ */
4
7
  export interface ILinkMicHandleStateUseCase {
8
+ /**
9
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
10
+ */
5
11
  init(): void;
6
12
  requestJoinLinkMic(): Promise<void>;
7
13
  acceptInvitation(): Promise<void>;
8
14
  refuseInvitation(): void;
15
+ /**
16
+ * 主动离开连麦,内部会按角色执行退房和状态清理。
17
+ */
9
18
  leaveLinkMic(): void;
10
19
  onStreamerStart(): void;
11
20
  onLiveStreamStart(): void;
21
+ /**
22
+ * 设置频道连麦模式。新版策略下切换模式可能需要关闭或重开举手入口。
23
+ */
12
24
  setLinkMicMode(linkmicMode: PLVLinkMicMode): Promise<boolean>;
25
+ /**
26
+ * 开启连麦入口,允许观众或嘉宾按当前频道策略申请上麦。
27
+ */
13
28
  openLinkMic(): Promise<boolean>;
29
+ /**
30
+ * 关闭连麦入口,并按策略决定是否保留讲师自身的连麦能力。
31
+ */
14
32
  closeLinkMic(): Promise<boolean>;
33
+ /**
34
+ * 讲师接受指定观众的连麦申请。
35
+ */
15
36
  acceptViewerLinkMicRequest(viewerId: string): void;
37
+ /**
38
+ * 讲师邀请指定观众上麦,可选择是否需要对方确认。
39
+ */
16
40
  inviteViewerLinkMic(viewerId: string, needAnswer: boolean): void;
41
+ /**
42
+ * 讲师挂断指定观众的连麦。
43
+ */
17
44
  hangupViewerLinkMic(viewerId: string): void;
45
+ /**
46
+ * 讲师发起全体下麦。
47
+ */
18
48
  hangupAllViewersLinkMic(): void;
49
+ /**
50
+ * 讲师控制指定观众摄像头开关。
51
+ */
19
52
  setViewerEnableCamera(viewerId: string, enable: boolean): void;
53
+ /**
54
+ * 讲师控制指定观众麦克风开关。
55
+ */
20
56
  setViewerEnableMicrophone(viewerId: string, enable: boolean): void;
57
+ /**
58
+ * 授予指定观众主讲权限,并同步主画面。
59
+ */
21
60
  grantSpeaker(viewerId: string): void;
61
+ /**
62
+ * 收回主讲权限,将主讲和主画面切回讲师。
63
+ */
22
64
  revokeSpeaker(viewerId: string): void;
65
+ /**
66
+ * 设置频道主画面用户。
67
+ */
23
68
  setMainView(viewerId: string): void;
24
69
  onLiveStreamStop(): void;
25
70
  onStreamerStop(): void;
26
71
  updateInvitationExpireTime(): void;
72
+ /**
73
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
74
+ */
27
75
  onDestroy(): void;
28
76
  }
@@ -5,15 +5,35 @@ import { PLVLinkMicRepo } from '../../../../model/PLVLinkMicRepo';
5
5
  import { PLVLinkMicBitRate } from '../../../../model/vo/PLVLinkMicBitRate';
6
6
  import { PLVLinkMicPushResolutionRatio } from '../../../../model/vo/PLVLinkMicPushResolutionRatio';
7
7
  import { ILinkMicEncodeParamUseCase } from '../base/ILinkMicEncodeParamUseCase';
8
+ /**
9
+ * 编码参数用例,负责根据频道配置和当前设置计算 RTC 推流编码参数
10
+ */
8
11
  export declare class LinkMicGuestEncodeParamUseCase implements ILinkMicEncodeParamUseCase {
9
12
  private readonly repo;
10
- constructor(d35: PLVLinkMicRepo);
13
+ private observers;
14
+ constructor(e35: PLVLinkMicRepo);
15
+ /**
16
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
17
+ */
11
18
  init(): void;
12
- setBitRate(c35: PLVLinkMicBitRate): void;
13
- setPushResolutionRatio(b35: PLVLinkMicPushResolutionRatio): void;
14
- setPushOrientation(a35: PLVPushOrientation): void;
15
- setPushMirror(z34: boolean): void;
16
- setPushDowngradePreference(y34: PLVPushDowngradePreference): void;
19
+ /**
20
+ * 设置当前推流码率档位。
21
+ */
22
+ setBitRate(d35: PLVLinkMicBitRate): void;
23
+ /**
24
+ * 设置当前推流画面比例。
25
+ */
26
+ setPushResolutionRatio(c35: PLVLinkMicPushResolutionRatio): void;
27
+ /**
28
+ * 设置当前推流方向。
29
+ */
30
+ setPushOrientation(b35: PLVPushOrientation): void;
31
+ setPushMirror(a35: boolean): void;
32
+ /**
33
+ * 设置弱网场景下优先保清晰度还是保流畅度。
34
+ */
35
+ setPushDowngradePreference(z34: PLVPushDowngradePreference): void;
36
+ onDestroy(): void;
17
37
  private updateEncodeParam;
18
38
  private parseChannelBitRateSetting;
19
39
  private parsePushStreamTemplate;
@@ -4,21 +4,38 @@ import { PLVRTCClientRole } from '@polyvharmony/rtc-sdk';
4
4
  import { PLVLinkMicRepo } from '../../../../model/PLVLinkMicRepo';
5
5
  import { PLVLinkMicVideoRenderParam } from '../../../../model/vo/PLVLinkMicVideoRenderParam';
6
6
  import { ILinkMicHandleRTCUseCase } from '../base/ILinkMicHandleRTCUseCase';
7
+ /**
8
+ * RTC 处理用例,封装连麦 RTC 加房、退房、发布、订阅和媒体控制
9
+ */
7
10
  export declare class LinkMicGuestHandleRTCUseCase implements ILinkMicHandleRTCUseCase {
8
11
  private readonly repo;
9
12
  private observers;
10
- constructor(s35: PLVLinkMicRepo);
13
+ constructor(t35: PLVLinkMicRepo);
14
+ /**
15
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
16
+ */
11
17
  init(): void;
18
+ /**
19
+ * 加入 RTC 房间并根据角色发布或订阅音视频流。
20
+ */
12
21
  joinChannel(): void;
22
+ /**
23
+ * 退出 RTC 房间并清理本地/远端媒体状态。
24
+ */
13
25
  leaveChannel(): void;
14
- switchRole(q35: PLVRTCClientRole): void;
15
- enableCamera(p35: boolean): void;
16
- enableMicrophone(o35: boolean): void;
26
+ switchRole(r35: PLVRTCClientRole): void;
27
+ enableCamera(q35: boolean): void;
28
+ enableMicrophone(p35: boolean): void;
17
29
  enableCameraMicrophoneToLastState(): void;
18
30
  switchCamera(): void;
19
- setLocalRenderMirror(l35: boolean): void;
20
- setupVideoRender(j35: PLVLinkMicVideoRenderParam): void;
21
- removeVideoRender(h35: PLVLinkMicVideoRenderParam): void;
31
+ startScreenCapture(): number;
32
+ stopScreenCapture(): number;
33
+ setLocalRenderMirror(m35: boolean): void;
34
+ setupVideoRender(k35: PLVLinkMicVideoRenderParam): void;
35
+ removeVideoRender(i35: PLVLinkMicVideoRenderParam): void;
36
+ /**
37
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
38
+ */
22
39
  onDestroy(): void;
23
40
  private getVideoRenderParam;
24
41
  }