@netless/slide 0.1.7 → 0.1.11
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.
- package/lib/PlayerController.js +1 -0
- package/lib/Slide.d.ts +60 -5
- package/lib/Slide.js +33 -33
- package/package.json +5 -3
package/lib/PlayerController.js
CHANGED
package/lib/Slide.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export declare const SLIDE_EVENTS: {
|
|
|
17
17
|
mainSeqStepEnd: string;
|
|
18
18
|
animateStart: string;
|
|
19
19
|
animateEnd: string;
|
|
20
|
+
/** slide 状态变化触发 */
|
|
21
|
+
stateChange: string;
|
|
20
22
|
};
|
|
21
23
|
export interface ISlideRenderOptions {
|
|
22
24
|
/** 预期最低渲染 fps, 默认 40 */
|
|
@@ -43,6 +45,20 @@ export interface ISlideConfig {
|
|
|
43
45
|
controller?: boolean;
|
|
44
46
|
/** 是否根据窗口大小自动调整分辨率 */
|
|
45
47
|
resize?: boolean;
|
|
48
|
+
/** 获取房间时间 */
|
|
49
|
+
timestamp?: () => number;
|
|
50
|
+
/**
|
|
51
|
+
* 运行模式
|
|
52
|
+
*
|
|
53
|
+
* "interactive" 互动模式, 所有人都可以操作 ppt
|
|
54
|
+
* "sync" 同步模式, 只有一个人能操作 ppt
|
|
55
|
+
* "local" 本地模式, 不会触发任意同步事件
|
|
56
|
+
*/
|
|
57
|
+
mode: "interactive" | "sync" | "local";
|
|
58
|
+
}
|
|
59
|
+
interface MediaState {
|
|
60
|
+
type: "pause" | "play";
|
|
61
|
+
time: number;
|
|
46
62
|
}
|
|
47
63
|
interface ISlideState {
|
|
48
64
|
taskId: string;
|
|
@@ -51,10 +67,29 @@ interface ISlideState {
|
|
|
51
67
|
mainSeqStep: number;
|
|
52
68
|
mainSeqState: "idle" | "running" | "end" | null;
|
|
53
69
|
appliedInteractiveSeqIds: string[];
|
|
70
|
+
mediaState: {
|
|
71
|
+
[key: string]: MediaState;
|
|
72
|
+
};
|
|
54
73
|
}
|
|
55
|
-
export declare type SyncEvent = SyncInteractiveAnimEvent | SyncPrevStepEvent | SyncNextStepEvent | SyncRenderSlideEvent | SyncSetResourceEvent;
|
|
74
|
+
export declare type SyncEvent = SyncInteractiveAnimEvent | SyncPrevStepEvent | SyncNextStepEvent | SyncRenderSlideEvent | SyncSetResourceEvent | SyncMediaPlayEvent | SyncMediaPauseEvent | SyncMediaSeekEvent;
|
|
56
75
|
export interface BasicSyncEvent {
|
|
57
76
|
}
|
|
77
|
+
export interface SyncMediaPlayEvent extends BasicSyncEvent {
|
|
78
|
+
type: "mediaPlay";
|
|
79
|
+
id: string;
|
|
80
|
+
state: MediaState;
|
|
81
|
+
}
|
|
82
|
+
export interface SyncMediaPauseEvent extends BasicSyncEvent {
|
|
83
|
+
type: "mediaPause";
|
|
84
|
+
id: string;
|
|
85
|
+
state: MediaState;
|
|
86
|
+
}
|
|
87
|
+
export interface SyncMediaSeekEvent extends BasicSyncEvent {
|
|
88
|
+
type: "mediaSeek";
|
|
89
|
+
id: string;
|
|
90
|
+
time: number;
|
|
91
|
+
state: MediaState;
|
|
92
|
+
}
|
|
58
93
|
export interface SyncInteractiveAnimEvent extends BasicSyncEvent {
|
|
59
94
|
type: "interactiveAnim";
|
|
60
95
|
action: string;
|
|
@@ -77,6 +112,7 @@ export interface SyncSetResourceEvent extends BasicSyncEvent {
|
|
|
77
112
|
url: string;
|
|
78
113
|
}
|
|
79
114
|
export interface SlideEventEmitter {
|
|
115
|
+
removeListener(event: keyof typeof SLIDE_EVENTS, fn?: any): this;
|
|
80
116
|
emit(event: typeof SLIDE_EVENTS.renderStart, index: number): boolean;
|
|
81
117
|
on(event: typeof SLIDE_EVENTS.renderStart, listener: (index: number) => void): this;
|
|
82
118
|
emit(event: typeof SLIDE_EVENTS.renderEnd, index: number): boolean;
|
|
@@ -101,6 +137,8 @@ export interface SlideEventEmitter {
|
|
|
101
137
|
on(event: typeof SLIDE_EVENTS.mainSeqStepStart, listener: (index: number) => void): this;
|
|
102
138
|
emit(event: typeof SLIDE_EVENTS.mainSeqStepEnd, index: number): boolean;
|
|
103
139
|
on(event: typeof SLIDE_EVENTS.mainSeqStepEnd, listener: (index: number) => void): this;
|
|
140
|
+
emit(event: typeof SLIDE_EVENTS.stateChange, state: ISlideState): boolean;
|
|
141
|
+
on(event: typeof SLIDE_EVENTS.stateChange, listener: (state: ISlideState) => void): this;
|
|
104
142
|
}
|
|
105
143
|
declare const Slide_base: new () => SlideEventEmitter;
|
|
106
144
|
export declare class Slide extends Slide_base {
|
|
@@ -115,8 +153,19 @@ export declare class Slide extends Slide_base {
|
|
|
115
153
|
private frameWidth;
|
|
116
154
|
private frameHeight;
|
|
117
155
|
private frame;
|
|
156
|
+
private medianController;
|
|
118
157
|
private frameResizeObserver;
|
|
158
|
+
private timestamp;
|
|
159
|
+
private mode;
|
|
160
|
+
private log;
|
|
161
|
+
private logId;
|
|
162
|
+
private lastEmitedState;
|
|
163
|
+
private persistLogId;
|
|
119
164
|
constructor(config: ISlideConfig);
|
|
165
|
+
private persistLog;
|
|
166
|
+
private handleSlideStateLog;
|
|
167
|
+
private handleLogDownload;
|
|
168
|
+
private setMedianControllerAttribute;
|
|
120
169
|
private frameResizeHandler;
|
|
121
170
|
private resizeView;
|
|
122
171
|
private receiveSyncHandler;
|
|
@@ -126,6 +175,7 @@ export declare class Slide extends Slide_base {
|
|
|
126
175
|
* @param state ISlideState
|
|
127
176
|
*/
|
|
128
177
|
setSlideState(state: Partial<ISlideState>): Promise<void>;
|
|
178
|
+
private initMedia;
|
|
129
179
|
/**
|
|
130
180
|
* 返回 slide 总页数
|
|
131
181
|
*/
|
|
@@ -135,7 +185,7 @@ export declare class Slide extends Slide_base {
|
|
|
135
185
|
* 可以完成整体同步. 只读属性.
|
|
136
186
|
* @readonly
|
|
137
187
|
*/
|
|
138
|
-
get slideState():
|
|
188
|
+
get slideState(): ISlideState;
|
|
139
189
|
/**
|
|
140
190
|
* 主序列动画步数, 只读属性
|
|
141
191
|
* @readonly
|
|
@@ -206,15 +256,20 @@ export declare class Slide extends Slide_base {
|
|
|
206
256
|
* 渲染 index 参数对应的 ppt 页.
|
|
207
257
|
* @param index 要显示的页码, 从 1 开始
|
|
208
258
|
*/
|
|
209
|
-
renderSlide(index: number
|
|
259
|
+
renderSlide(index: number): void;
|
|
260
|
+
private doRenderSlide;
|
|
210
261
|
/**
|
|
211
262
|
* 执行下一个主序列动画
|
|
212
263
|
*/
|
|
213
|
-
nextStep(
|
|
264
|
+
nextStep(): void;
|
|
265
|
+
private doNextStep;
|
|
214
266
|
/**
|
|
215
267
|
* 执行上一个主序列动画
|
|
216
268
|
*/
|
|
217
|
-
prevStep(
|
|
269
|
+
prevStep(): void;
|
|
270
|
+
private doPrevStep;
|
|
271
|
+
private emitStateChange;
|
|
272
|
+
private emitSyncDispatch;
|
|
218
273
|
/**
|
|
219
274
|
* 重置主序列动画
|
|
220
275
|
* @param index 将要重置到的步数
|