@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
@@ -35,7 +35,7 @@ export declare class PLVSocketManager extends PLVSocketIO implements IPLVBaseMod
35
35
  */
36
36
  eventNotify_socketData: IPLVEventNotify;
37
37
  private getTokenDisposable;
38
- constructor(w88: PLVChannelData);
38
+ constructor(y88: PLVChannelData);
39
39
  /**
40
40
  * 登录socket
41
41
  */
@@ -45,18 +45,18 @@ export declare class PLVSocketManager extends PLVSocketIO implements IPLVBaseMod
45
45
  * @param callback
46
46
  * @param onTag
47
47
  */
48
- onStatus(u88: Function, v88?: string | Object): void;
48
+ onStatus(w88: Function, x88?: string | Object): void;
49
49
  /**
50
50
  * 取消监听socket连接状态
51
51
  * @param callback
52
52
  * @param onTag
53
53
  */
54
- offStatus(s88: Function, t88?: string | Object): void;
54
+ offStatus(u88: Function, v88?: string | Object): void;
55
55
  /**
56
56
  * 添加所需监听的socket事件
57
57
  * @param onEvents
58
58
  */
59
- addOnEvent(p88: string[]): void;
59
+ addOnEvent(r88: string[]): void;
60
60
  /**
61
61
  * 是否处于已连接状态
62
62
  * @returns
@@ -66,12 +66,12 @@ export declare class PLVSocketManager extends PLVSocketIO implements IPLVBaseMod
66
66
  * 断开
67
67
  * @param noCallSocketClose
68
68
  */
69
- disconnect(o88?: boolean | undefined): void;
69
+ disconnect(q88?: boolean | undefined): void;
70
70
  /**
71
71
  * 销毁
72
72
  * @param noCallSocketClose
73
73
  */
74
- destroy(n88?: boolean): void;
74
+ destroy(p88?: boolean): void;
75
75
  private loginRoom;
76
76
  private onSocketIOStatus;
77
77
  private attachListeners;
@@ -87,7 +87,7 @@ export declare class PLVSocketManager extends PLVSocketIO implements IPLVBaseMod
87
87
  */
88
88
  export declare class PLVChildRoomEnabledStatus {
89
89
  childRoomEnabled?: boolean;
90
- constructor(g87?: boolean);
90
+ constructor(i87?: boolean);
91
91
  }
92
92
  /**
93
93
  * socket连接状态
@@ -95,7 +95,7 @@ export declare class PLVChildRoomEnabledStatus {
95
95
  export declare class PLVSocketStatusSup {
96
96
  socketStatus: PLVSocketStatus;
97
97
  error?: Error;
98
- constructor(e87: PLVSocketStatus, f87?: Error);
98
+ constructor(g87: PLVSocketStatus, h87?: Error);
99
99
  }
100
100
  /**
101
101
  * socket连接状态枚举
@@ -3,12 +3,12 @@
3
3
  import { PLVSocketManager } from './PLVSocketManager';
4
4
  export declare class PLVSocketMediator {
5
5
  private socketManager;
6
- constructor(l89: PLVSocketManager);
7
- onData(i89: string, j89: Function, k89?: string | Object): void;
8
- offData(f89: string, g89: Function, h89?: string | Object): void;
9
- onStatus(d89: Function, e89?: string | Object): void;
10
- offStatus(b89: Function, c89?: string | Object): void;
11
- emit(y88: string, z88: ESObject, a89?: (emit_callback_json: string) => void): boolean;
12
- addOnEvent(x88: string[]): void;
6
+ constructor(n89: PLVSocketManager);
7
+ onData(k89: string, l89: Function, m89?: string | Object): void;
8
+ offData(h89: string, i89: Function, j89?: string | Object): void;
9
+ onStatus(f89: Function, g89?: string | Object): void;
10
+ offStatus(d89: Function, e89?: string | Object): void;
11
+ emit(a89: string, b89: ESObject, c89?: (emit_callback_json: string) => void): boolean;
12
+ addOnEvent(z88: string[]): void;
13
13
  connected(): boolean;
14
14
  }
@@ -16,13 +16,13 @@ export declare class PLVSocketUserBean {
16
16
  classStatus?: PLVClassStatusBean;
17
17
  kickRefer?: string;
18
18
  getActor(): string;
19
- setActor(r86?: string): void;
19
+ setActor(t86?: string): void;
20
20
  isBanned(): boolean;
21
- setBanned(q86?: boolean): void;
21
+ setBanned(s86?: boolean): void;
22
22
  getPic(): string;
23
- setPic(p86?: string): void;
24
- static fixActor(n86?: string, o86?: string): string;
25
- static isSpecialType(m86?: string): boolean;
23
+ setPic(r86?: string): void;
24
+ static fixActor(p86?: string, q86?: string): string;
25
+ static isSpecialType(o86?: string): boolean;
26
26
  }
27
27
  @Observed
28
28
  export declare class PLVAuthorizationBean {
@@ -5,7 +5,7 @@ export declare class RedPaperReceiveType {
5
5
  value: string;
6
6
  serverTypes: string[];
7
7
  typeName: Resource;
8
- constructor(b87: string, c87: string[], d87: Resource);
8
+ constructor(d87: string, e87: string[], f87: Resource);
9
9
  getTypeName(): Resource;
10
10
  clone(): RedPaperReceiveType;
11
11
  }
@@ -19,7 +19,7 @@ export declare class PLVRedPaperReceiveType {
19
19
  private static instance;
20
20
  private constructor();
21
21
  static getInstance(): PLVRedPaperReceiveType;
22
- static getValue(a87: RedPaperReceiveTypeEvent): RedPaperReceiveType;
23
- static match(v86?: string): RedPaperReceiveType | undefined;
24
- static matchOrDefault(s86: string, t86: RedPaperReceiveTypeEvent): RedPaperReceiveType;
22
+ static getValue(c87: RedPaperReceiveTypeEvent): RedPaperReceiveType;
23
+ static match(x86?: string): RedPaperReceiveType | undefined;
24
+ static matchOrDefault(u86: string, v86: RedPaperReceiveTypeEvent): RedPaperReceiveType;
25
25
  }
@@ -10,6 +10,9 @@ import { PLVLinkMicPushResolutionRatio } from '../linkmic/model/vo/PLVLinkMicPus
10
10
  import { PLVSocketMediator } from '../socket/PLVSocketMediator';
11
11
  import { PLVStreamerMixLayoutType } from './model/vo/PLVStreamerMixLayoutType';
12
12
  import { PLVStreamerState } from './model/vo/PLVStreamerState';
13
+ /**
14
+ * 开播/推流模块对外管理器,向业务层暴露直播状态、推流参数和开播控制能力
15
+ */
13
16
  export declare class PLVStreamerManager extends PLVBaseModule {
14
17
  private readonly dependScope;
15
18
  private readonly mediator;
@@ -46,14 +49,22 @@ export declare class PLVStreamerManager extends PLVBaseModule {
46
49
  * 混流布局
47
50
  */
48
51
  readonly mixLayoutType: State<PLVStreamerMixLayoutType>;
49
- constructor(a94: DependScope, b94: PLVChannelData, c94: PLVSocketMediator);
52
+ /**
53
+ * SDK 是否支持当前频道的屏幕分享
54
+ */
55
+ readonly sdkSupportScreenCapture: State<boolean>;
56
+ /**
57
+ * 本地是否正在进行屏幕分享
58
+ */
59
+ readonly isStartScreenCapture: State<boolean>;
60
+ constructor(c94: DependScope, d94: PLVChannelData, e94: PLVSocketMediator);
50
61
  private init;
51
62
  /**
52
63
  * [讲师] 开始直播
53
64
  * [嘉宾] 加入直播
54
65
  * @param recover 上一次直播未正常关闭,是否继续上一次直播
55
66
  */
56
- startStream(w93?: boolean): Promise<void>;
67
+ startStream(y93?: boolean): Promise<void>;
57
68
  /**
58
69
  * [讲师] 停止直播
59
70
  * [嘉宾] 退出直播
@@ -62,31 +73,39 @@ export declare class PLVStreamerManager extends PLVBaseModule {
62
73
  /**
63
74
  * [讲师] 更新频道名称
64
75
  */
65
- updateChannelName(v93: string): Promise<void>;
76
+ updateChannelName(x93: string): Promise<void>;
66
77
  /**
67
78
  * [讲师] 更新频道封面图
68
79
  * @param localSplashImage 封面图
69
80
  * @returns 上传到服务器后的封面图地址
70
81
  */
71
- updateChannelSplashImage(u93: string): Promise<string>;
82
+ updateChannelSplashImage(w93: string): Promise<string>;
72
83
  /**
73
84
  * [讲师、嘉宾] 设置推流清晰度
74
85
  */
75
- setBitRate(t93: PLVLinkMicBitRate): void;
86
+ setBitRate(v93: PLVLinkMicBitRate): void;
76
87
  /**
77
88
  * [讲师、嘉宾] 设置推流画面比例
78
89
  */
79
- setPushResolutionRatio(s93: PLVLinkMicPushResolutionRatio): void;
90
+ setPushResolutionRatio(u93: PLVLinkMicPushResolutionRatio): void;
80
91
  /**
81
92
  * [讲师、嘉宾] 设置推流方向
82
93
  */
83
- setPushOrientation(r93: PLVPushOrientation): void;
94
+ setPushOrientation(t93: PLVPushOrientation): void;
84
95
  /**
85
96
  * [讲师、嘉宾] 设置弱网降级偏好
86
97
  */
87
- setPushDowngradePreference(q93: PLVPushDowngradePreference): void;
98
+ setPushDowngradePreference(s93: PLVPushDowngradePreference): void;
88
99
  /**
89
100
  * [讲师] 设置混流画面类型
90
101
  */
91
- setMixLayoutType(p93: PLVStreamerMixLayoutType): void;
102
+ setMixLayoutType(r93: PLVStreamerMixLayoutType): void;
103
+ /**
104
+ * [讲师、嘉宾] 开始屏幕分享
105
+ */
106
+ startScreenCapture(): number;
107
+ /**
108
+ * [讲师、嘉宾] 停止屏幕分享
109
+ */
110
+ stopScreenCapture(): number;
92
111
  }
@@ -1,4 +1,11 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
3
  import { DependModule } from '@polyvharmony/media-player-sdk';
4
+ /**
5
+ * 开播/推流模块依赖注入定义。
6
+ *
7
+ * streamer 模块依赖 linkmic 模块提供的 RTC 状态和编码参数,因此
8
+ * PLVStreamerMediator 会持有 PLVLinkMicMediator。后续推流状态、混流、
9
+ * 封面更新等能力都通过 Repo 和 UseCase 分层实现。
10
+ */
4
11
  export declare const streamerModule: DependModule;
@@ -7,20 +7,37 @@ import { PLVSocketMediator } from '../../socket/PLVSocketMediator';
7
7
  import { PLVStreamerErrorEvent } from '../model/vo/PLVStreamerErrorEvent';
8
8
  import { PLVStreamerMixLayoutType } from '../model/vo/PLVStreamerMixLayoutType';
9
9
  import { PLVStreamerState } from '../model/vo/PLVStreamerState';
10
+ /**
11
+ * 模块内状态中介,集中保存跨用例共享状态并桥接外部模块
12
+ */
10
13
  export declare class PLVStreamerMediator implements LifecycleAwareDependComponent {
14
+ /** 连麦状态中介,推流模块依赖它读取 RTC 编码参数和连麦成员列表。 */
11
15
  readonly linkmicMediator: PLVLinkMicMediator;
16
+ /** 当前登录频道、用户、角色等全局频道数据。 */
12
17
  channelData: PLVChannelData | null;
18
+ /** 聊天室 socket 中介,用于监听直播开始/结束等频道事件。 */
13
19
  socketMediator: PLVSocketMediator | null;
20
+ /** 推流模块初始化完成信号,外部动作需等待该 Promise 后再执行。 */
14
21
  readonly initFinish: {
15
22
  promise: Promise<void>;
16
23
  resolve: (value: void | PromiseLike<void>) => void;
17
24
  reject: (reason?: any) => void;
18
25
  };
26
+ /** 当前直播推流状态。 */
19
27
  readonly streamerState: MutableState<PLVStreamerState>;
28
+ /** 直播开始时间戳,用于开播时长统计。 */
20
29
  readonly liveStartTimestamp: MutableState<number>;
30
+ /** 当前服务端混流布局类型。 */
21
31
  readonly mixLayoutType: MutableState<PLVStreamerMixLayoutType>;
32
+ /** 推流模块统一错误事件。 */
22
33
  readonly errorEvent: MutableEvent<PLVStreamerErrorEvent>;
23
- constructor(x89: PLVLinkMicMediator);
24
- reportError(v89: number, w89: string): void;
34
+ constructor(z89: PLVLinkMicMediator);
35
+ /**
36
+ * 统一上报模块错误事件,便于业务层监听和展示。
37
+ */
38
+ reportError(x89: number, y89: string): void;
39
+ /**
40
+ * 释放当前对象持有的监听、定时器和临时状态,避免页面退出后继续收到回调。
41
+ */
25
42
  onDestroy(): void;
26
43
  }
@@ -6,20 +6,37 @@ import { PLVStreamerNetworkDataSource } from './datasource/PLVStreamerNetworkDat
6
6
  import { PLVStreamerLiveStatusResponseVO } from './vo/PLVStreamerLiveStatusResponseVO';
7
7
  import { PLVStreamerMixActionVO } from './vo/PLVStreamerMixActionVO';
8
8
  import { PLVStreamerMixLayoutType } from './vo/PLVStreamerMixLayoutType';
9
+ /**
10
+ * 模块数据仓库,封装 mediator、网络数据源、本地数据源和 RTC 依赖的访问入口
11
+ */
9
12
  export declare class PLVStreamerRepo {
10
13
  readonly mediator: PLVStreamerMediator;
11
14
  readonly localDataSource: PLVStreamerLocalDataSource;
12
15
  readonly networkDataSource: PLVStreamerNetworkDataSource;
13
- constructor(k93: PLVStreamerMediator, l93: PLVStreamerLocalDataSource, m93: PLVStreamerNetworkDataSource);
16
+ constructor(m93: PLVStreamerMediator, n93: PLVStreamerLocalDataSource, o93: PLVStreamerNetworkDataSource);
17
+ /**
18
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
19
+ */
14
20
  init(): Promise<void>;
15
21
  private initMixLayoutType;
16
- notifyStreamStart(c93: string, d93: boolean, e93: number, f93: number): Promise<string>;
17
- notifyStreamEnd(z92: string): Promise<void>;
18
- setMixLayoutType(y92: PLVStreamerMixLayoutType): Promise<void>;
19
- sendMixAction(w92: PLVStreamerMixActionVO): Promise<void>;
20
- getStreamerSessionId(t92: string): Promise<string>;
21
- updateChannelName(q92: string): Promise<void>;
22
- updateChannelSplashImage(n92: string): Promise<void>;
23
- getLiveStatusSessionId(k92: string): Promise<PLVStreamerLiveStatusResponseVO>;
24
- uploadImageToOSS(f92: ArrayBuffer, g92: string): Promise<string>;
22
+ notifyStreamStart(e93: string, f93: boolean, g93: number, h93: number): Promise<string>;
23
+ notifyStreamEnd(b93: string): Promise<void>;
24
+ /**
25
+ * 设置服务端混流布局类型。
26
+ */
27
+ setMixLayoutType(a93: PLVStreamerMixLayoutType): Promise<void>;
28
+ sendMixAction(y92: PLVStreamerMixActionVO): Promise<void>;
29
+ getStreamerSessionId(v92: string): Promise<string>;
30
+ /**
31
+ * 更新频道直播标题。
32
+ */
33
+ updateChannelName(s92: string): Promise<void>;
34
+ /**
35
+ * 上传并更新频道封面图,返回服务端图片地址。
36
+ */
37
+ updateChannelSplashImage(p92: string): Promise<void>;
38
+ getLiveStatusSessionId(m92: string): Promise<PLVStreamerLiveStatusResponseVO>;
39
+ startScreenCapture(): number;
40
+ stopScreenCapture(): number;
41
+ uploadImageToOSS(h92: ArrayBuffer, i92: string): Promise<string>;
25
42
  }
@@ -2,9 +2,12 @@
2
2
  // @ts-nocheck
3
3
  import { PLVStreamerMediator } from "../../mediator/PLVStreamerMediator";
4
4
  import { PLVStreamerMixLayoutType } from "../vo/PLVStreamerMixLayoutType";
5
+ /**
6
+ * 本地数据源,负责读写当前模块需要持久化的频道配置
7
+ */
5
8
  export declare class PLVStreamerLocalDataSource {
6
9
  private readonly mediator;
7
- constructor(e90: PLVStreamerMediator);
10
+ constructor(g90: PLVStreamerMediator);
8
11
  getMixLayoutType(): Promise<PLVStreamerMixLayoutType | undefined>;
9
- saveMixLayoutType(y89: PLVStreamerMixLayoutType): Promise<void>;
12
+ saveMixLayoutType(a90: PLVStreamerMixLayoutType): Promise<void>;
10
13
  }
@@ -4,18 +4,27 @@ import { PLVChatImageUploadTokenVO } from '../../../chatroom/model/PLVChatImageU
4
4
  import { PLVStreamerMediator } from '../../mediator/PLVStreamerMediator';
5
5
  import { PLVStreamerLiveStatusResponseVO } from '../vo/PLVStreamerLiveStatusResponseVO';
6
6
  import { PLVStreamerMixActionVO } from '../vo/PLVStreamerMixActionVO';
7
+ /**
8
+ * 网络数据源,负责调用服务端接口并屏蔽接口细节
9
+ */
7
10
  export declare class PLVStreamerNetworkDataSource {
8
11
  private readonly mediator;
9
- constructor(e92: PLVStreamerMediator);
10
- notifyStreamStart(v91: string, w91: string, x91: boolean, y91: number, z91: number): Promise<string>;
11
- notifyStreamEnd(o91: string, p91: string): Promise<void>;
12
- sendMixAction(k91: PLVStreamerMixActionVO): Promise<void>;
13
- getStreamerSessionId(e91: string, f91: string): Promise<string>;
14
- updateChannelName(x90: string, y90: string): Promise<void>;
15
- updateChannelSplashImage(q90: string, r90: string): Promise<void>;
16
- getLiveStatusSessionId(n90: string, o90: string): Promise<PLVStreamerLiveStatusResponseVO>;
17
- getOSSUploadToken(i90: string): Promise<PLVChatImageUploadTokenVO>;
18
- uploadImageToOSS(f90: ArrayBuffer, g90: string, h90: PLVChatImageUploadTokenVO): Promise<string>;
12
+ constructor(g92: PLVStreamerMediator);
13
+ notifyStreamStart(x91: string, y91: string, z91: boolean, a92: number, b92: number): Promise<string>;
14
+ notifyStreamEnd(q91: string, r91: string): Promise<void>;
15
+ sendMixAction(m91: PLVStreamerMixActionVO): Promise<void>;
16
+ getStreamerSessionId(g91: string, h91: string): Promise<string>;
17
+ /**
18
+ * 更新频道直播标题。
19
+ */
20
+ updateChannelName(z90: string, a91: string): Promise<void>;
21
+ /**
22
+ * 上传并更新频道封面图,返回服务端图片地址。
23
+ */
24
+ updateChannelSplashImage(s90: string, t90: string): Promise<void>;
25
+ getLiveStatusSessionId(p90: string, q90: string): Promise<PLVStreamerLiveStatusResponseVO>;
26
+ getOSSUploadToken(k90: string): Promise<PLVChatImageUploadTokenVO>;
27
+ uploadImageToOSS(h90: ArrayBuffer, i90: string, j90: PLVChatImageUploadTokenVO): Promise<string>;
19
28
  private get api_polyv_net();
20
29
  private get liveimages_videocc_net();
21
30
  }
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 错误事件枚举,定义模块内部向外透出的错误类型
5
+ */
3
6
  export declare class PLVStreamerErrorEvent {
4
7
  /**
5
8
  * 推流模块初始化失败
@@ -19,5 +22,5 @@ export declare class PLVStreamerErrorEvent {
19
22
  static readonly UPDATE_CHANNEL_NAME_FAIL = 4;
20
23
  readonly code: number;
21
24
  readonly message: string;
22
- constructor(n93: number, o93: string);
25
+ constructor(p93: number, q93: string);
23
26
  }
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 接口响应模型,承载服务端返回的结构化数据
3
+ */
1
4
  export declare class PLVStreamerLiveStatusResponseVO {
2
5
  status?: string | null;
3
6
  sessionId?: string | null;
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 接口响应模型,承载服务端返回的结构化数据
5
+ */
3
6
  export declare class PLVStreamerMixActionResponse {
4
7
  res?: boolean;
5
8
  }
@@ -1,6 +1,9 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
3
  import { PLVStreamerMixLayoutType } from './PLVStreamerMixLayoutType';
4
+ /**
5
+ * 服务端混流动作数据模型
6
+ */
4
7
  export declare class PLVStreamerMixActionVO {
5
8
  action?: MixAction;
6
9
  roomId?: string;
@@ -10,10 +13,16 @@ export declare class PLVStreamerMixActionVO {
10
13
  mixLayoutType?: PLVStreamerMixLayoutType;
11
14
  publishCdnParam?: MixPublishCdnParam;
12
15
  }
16
+ /**
17
+ * 服务端混流输出流参数数据模型
18
+ */
13
19
  export declare class MixOutputParam {
14
20
  streamId?: string;
15
21
  pureAudioStream?: number;
16
22
  }
23
+ /**
24
+ * 服务端混流编码参数数据模型
25
+ */
17
26
  export declare class MixEncodeParam {
18
27
  audioSampleRate?: number;
19
28
  audioBitrate?: number;
@@ -26,6 +35,9 @@ export declare class MixEncodeParam {
26
35
  backgroundColor: number;
27
36
  audioCodec: number;
28
37
  }
38
+ /**
39
+ * 参与服务端混流的用户参数数据模型
40
+ */
29
41
  export declare class MixUser {
30
42
  streamType?: MixStreamType;
31
43
  userId?: string;
@@ -33,25 +45,40 @@ export declare class MixUser {
33
45
  mixInputType?: MixInputType;
34
46
  hidden: boolean;
35
47
  }
48
+ /**
49
+ * 接口响应模型,承载服务端返回的结构化数据
50
+ */
36
51
  export declare enum MixAction {
37
52
  START = "start",
38
53
  UPDATE = "update",
39
54
  END = "end"
40
55
  }
56
+ /**
57
+ * 接口响应模型,承载服务端返回的结构化数据
58
+ */
41
59
  export declare enum MixStreamType {
42
60
  CAMERA = 0,
43
61
  SCREEN = 1
44
62
  }
63
+ /**
64
+ * 模式枚举,定义业务可选工作模式
65
+ */
45
66
  export declare enum MixRenderMode {
46
67
  FILL = 0,
47
68
  FIT = 1,
48
69
  FIT_BLACK_BACKGROUND = 2
49
70
  }
71
+ /**
72
+ * 接口响应模型,承载服务端返回的结构化数据
73
+ */
50
74
  export declare enum MixInputType {
51
75
  VIDEO_AUDIO = 0,
52
76
  VIDEO_ONLY = 1,
53
77
  AUDIO_ONLY = 2
54
78
  }
79
+ /**
80
+ * 混流后推送 CDN 参数数据模型
81
+ */
55
82
  export declare class MixPublishCdnParam {
56
83
  cdnUrl?: string;
57
84
  }
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 业务模型,承载当前模块内的结构化数据
5
+ */
3
6
  export declare enum PLVStreamerMixLayoutType {
4
7
  /**
5
8
  * 单人
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 接口响应模型,承载服务端返回的结构化数据
5
+ */
3
6
  export declare class PLVStreamerSessionIdQueryResponse {
4
7
  createTime?: number;
5
8
  sessionId?: string;
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * PLVStreamerSocketOnSliceStartRecv 接收模型
5
+ */
3
6
  export declare class PLVStreamerSocketOnSliceStartRecv {
4
7
  data?: PLVStreamerSocketOnSliceStartEventData | null;
5
8
  pushtime?: number | null;
@@ -8,11 +11,17 @@ export declare class PLVStreamerSocketOnSliceStartRecv {
8
11
  timeStamp?: number | null;
9
12
  videoAndPPTPosition?: string | null;
10
13
  }
14
+ /**
15
+ * PLVStreamerSocketOnSliceStartEventData 数据模型
16
+ */
11
17
  export declare class PLVStreamerSocketOnSliceStartEventData {
12
18
  autoId?: number | null;
13
19
  docType?: number | null;
14
20
  isCamClosed?: number | null;
15
21
  }
22
+ /**
23
+ * PLVStreamerSocketOnSliceIDRecv 接收模型
24
+ */
16
25
  export declare class PLVStreamerSocketOnSliceIDRecv {
17
26
  data?: PLVStreamerSocketOnSliceIDEventData | null;
18
27
  inClass?: boolean | null;
@@ -20,6 +29,9 @@ export declare class PLVStreamerSocketOnSliceIDRecv {
20
29
  pptAndVedioPosition?: number | null;
21
30
  token?: string | null;
22
31
  }
32
+ /**
33
+ * PLVStreamerSocketOnSliceIDEventData 数据模型
34
+ */
23
35
  export declare class PLVStreamerSocketOnSliceIDEventData {
24
36
  autoId?: number | null;
25
37
  courseType?: string | null;
@@ -37,6 +49,9 @@ export declare class PLVStreamerSocketOnSliceIDEventData {
37
49
  timeStamp?: number | null;
38
50
  userId?: string | null;
39
51
  }
52
+ /**
53
+ * PLVStreamerSocketOnSliceStartSend 发送模型
54
+ */
40
55
  export declare class PLVStreamerSocketOnSliceStartSend {
41
56
  EVENT: string;
42
57
  classInterval?: number | null;
@@ -51,12 +66,18 @@ export declare class PLVStreamerSocketOnSliceStartSend {
51
66
  streamName?: string | null;
52
67
  timeStamp?: number | null;
53
68
  }
69
+ /**
70
+ * PLVStreamerSocketOnSliceStartData 数据模型
71
+ */
54
72
  export declare class PLVStreamerSocketOnSliceStartData {
55
73
  autoId?: number | null;
56
74
  isCamClosed?: number | null;
57
75
  pageId?: number | null;
58
76
  step?: number | null;
59
77
  }
78
+ /**
79
+ * PLVStreamerSocketFinishClassSend 发送模型
80
+ */
60
81
  export declare class PLVStreamerSocketFinishClassSend {
61
82
  EVENT: string;
62
83
  channelId?: string | null;
@@ -1,5 +1,8 @@
1
1
  // @keepTs
2
2
  // @ts-nocheck
3
+ /**
4
+ * 状态枚举,定义模块核心业务状态
5
+ */
3
6
  export declare enum PLVStreamerState {
4
7
  /**
5
8
  * 直播未开始
@@ -6,18 +6,59 @@ import { PLVLinkMicPushResolutionRatio } from '../../linkmic/model/vo/PLVLinkMic
6
6
  import { PLVStreamerRepo } from '../model/PLVStreamerRepo';
7
7
  import { PLVStreamerMixLayoutType } from '../model/vo/PLVStreamerMixLayoutType';
8
8
  import { PLVStreamerUseCases } from './usecase/PLVStreamerUseCases';
9
+ /**
10
+ * 模块视图模型,承接 Manager 调用并分发到具体 UseCase
11
+ */
9
12
  export declare class PLVStreamerViewModel {
10
13
  private readonly repo;
11
14
  private readonly useCases;
12
- constructor(o94: PLVStreamerRepo, p94: PLVStreamerUseCases);
15
+ constructor(q94: PLVStreamerRepo, r94: PLVStreamerUseCases);
16
+ /**
17
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
18
+ */
13
19
  init(): Promise<void>;
14
- startStream(m94: boolean): Promise<void>;
20
+ /**
21
+ * 开始推流。讲师为开播,嘉宾为加入直播连麦。
22
+ */
23
+ startStream(o94: boolean): Promise<void>;
24
+ /**
25
+ * 结束当前推流。讲师为结束直播,嘉宾为退出直播。
26
+ */
15
27
  finishStream(): void;
16
- updateChannelName(j94: string): Promise<void>;
17
- updateChannelSplashImage(i94: string): Promise<string>;
18
- setBitRate(h94: PLVLinkMicBitRate): void;
19
- setPushResolutionRatio(g94: PLVLinkMicPushResolutionRatio): void;
20
- setPushOrientation(f94: PLVPushOrientation): void;
21
- setPushDowngradePreference(e94: PLVPushDowngradePreference): void;
22
- setMixLayoutType(d94: PLVStreamerMixLayoutType): void;
28
+ /**
29
+ * 更新频道直播标题。
30
+ */
31
+ updateChannelName(l94: string): Promise<void>;
32
+ /**
33
+ * 上传并更新频道封面图,返回服务端图片地址。
34
+ */
35
+ updateChannelSplashImage(k94: string): Promise<string>;
36
+ /**
37
+ * 设置当前推流码率档位。
38
+ */
39
+ setBitRate(j94: PLVLinkMicBitRate): void;
40
+ /**
41
+ * 设置当前推流画面比例。
42
+ */
43
+ setPushResolutionRatio(i94: PLVLinkMicPushResolutionRatio): void;
44
+ /**
45
+ * 设置当前推流方向。
46
+ */
47
+ setPushOrientation(h94: PLVPushOrientation): void;
48
+ /**
49
+ * 设置弱网场景下优先保清晰度还是保流畅度。
50
+ */
51
+ setPushDowngradePreference(g94: PLVPushDowngradePreference): void;
52
+ /**
53
+ * 设置服务端混流布局类型。
54
+ */
55
+ setMixLayoutType(f94: PLVStreamerMixLayoutType): void;
56
+ /**
57
+ * 开始屏幕分享。
58
+ */
59
+ startScreenCapture(): number;
60
+ /**
61
+ * 停止屏幕分享。
62
+ */
63
+ stopScreenCapture(): number;
23
64
  }
@@ -3,10 +3,16 @@
3
3
  import { StreamerHandleStateUseCase } from './StreamerHandleStateUseCase';
4
4
  import { StreamerMixStreamUseCase } from './StreamerMixStreamUseCase';
5
5
  import { StreamerUpdateSplashImageUseCase } from './StreamerUpdateSplashImageUseCase';
6
+ /**
7
+ * UseCase 聚合对象,按角色和职责组合模块业务能力
8
+ */
6
9
  export declare class PLVStreamerUseCases {
7
10
  readonly handleStateUseCase: StreamerHandleStateUseCase;
8
11
  readonly mixStreamUseCase: StreamerMixStreamUseCase;
9
12
  readonly updateSplashImageUseCase: StreamerUpdateSplashImageUseCase;
10
- constructor(q94: StreamerHandleStateUseCase, r94: StreamerMixStreamUseCase, s94: StreamerUpdateSplashImageUseCase);
13
+ constructor(s94: StreamerHandleStateUseCase, t94: StreamerMixStreamUseCase, u94: StreamerUpdateSplashImageUseCase);
14
+ /**
15
+ * 初始化当前用例或模块,注册依赖、状态监听和 socket/RTC 回调。
16
+ */
11
17
  init(): void;
12
18
  }