@zeewain/3d-avatar-sdk 2.1.2 → 2.1.3
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/README.md +38 -4
- package/dist/examples/test-vue2/package.json +1 -1
- package/dist/examples/test-vue3/package.json +1 -1
- package/dist/examples/test-vue3/src/App.vue +7 -3
- package/dist/examples/test-vue3/src/components/BroadcastAPI.vue +270 -2
- package/dist/index.d.ts +409 -398
- package/dist/index.es5.js +96 -40
- package/dist/index.es5.umd.js +96 -40
- package/dist/index.esm.js +98 -44
- package/dist/index.umd.cjs +98 -44
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -115,226 +115,6 @@ interface IUnityMessageSender<T extends string> {
|
|
|
115
115
|
sendAsyncMessage(methodName: string, operation: T, parameter?: any): Promise<IUnityCallbackResponse>;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
/**
|
|
119
|
-
* @fileoverview 流式播报服务接口定义
|
|
120
|
-
* @description 定义流式播报服务相关的类型、接口和枚举
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* 播报操作类型枚举
|
|
125
|
-
* @enum {string}
|
|
126
|
-
* @description 定义播报服务支持的操作类型
|
|
127
|
-
*/
|
|
128
|
-
declare enum BroadcastOperationType {
|
|
129
|
-
START_BROADCAST = "startBroadcast",
|
|
130
|
-
PAUSE_BROADCAST = "pauseBroadcast",
|
|
131
|
-
RESUME_BROADCAST = "resumeBroadcast",
|
|
132
|
-
STOP_BROADCAST = "stopBroadcast",
|
|
133
|
-
APPEND_BROADCAST = "appendBroadcast"
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* 播报类型枚举
|
|
137
|
-
* @enum {string}
|
|
138
|
-
* @description 定义播报的类型,支持文本转语音和自定义音频播报
|
|
139
|
-
*/
|
|
140
|
-
declare enum BroadcastType {
|
|
141
|
-
/** 文本智能体播报 */
|
|
142
|
-
TEXT = "text",
|
|
143
|
-
/** 自定义音频智能体播报 */
|
|
144
|
-
AUDIO = "audio"
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* 播报服务配置接口
|
|
148
|
-
* @interface IBroadcastServiceConfig
|
|
149
|
-
* @extends {IUnityServiceConfig}
|
|
150
|
-
* @description 播报服务的配置选项
|
|
151
|
-
*/
|
|
152
|
-
interface IBroadcastServiceConfig extends IUnityServiceConfig {
|
|
153
|
-
/** 事件回调函数集合 */
|
|
154
|
-
callbacks?: IBroadcastCallbacks;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* 播报参数接口
|
|
158
|
-
* @interface IBroadcastParams
|
|
159
|
-
* @description 定义播报操作所需的参数
|
|
160
|
-
*/
|
|
161
|
-
interface IBroadcastParams {
|
|
162
|
-
/** 播报类型 */
|
|
163
|
-
type: BroadcastType;
|
|
164
|
-
/** 数字人编码 */
|
|
165
|
-
humanCode: string;
|
|
166
|
-
/** 播报文本内容(文本播报时必填) */
|
|
167
|
-
text?: string;
|
|
168
|
-
/** 自定义音频URL(音频播报时必填) */
|
|
169
|
-
audioUrl?: string;
|
|
170
|
-
/** 音色编码(文本播报时必填) */
|
|
171
|
-
voiceCode?: string;
|
|
172
|
-
/** 播报速度,可选 */
|
|
173
|
-
speed?: number;
|
|
174
|
-
/** 播报音量(0-1) */
|
|
175
|
-
volume: number;
|
|
176
|
-
/** 是否显示字幕 */
|
|
177
|
-
isSubtitle: boolean;
|
|
178
|
-
/** 播报过程中才播放的动作集合,每个动作间隔2-3秒循环播放,播报顺序根据`motionPlayMode`参数处理,默认为`随机`,可选 */
|
|
179
|
-
motionList?: string[];
|
|
180
|
-
/** 动作播放模式,随机、顺序,随机=`random`,顺序=`sequence` */
|
|
181
|
-
motionPlayMode?: 'random' | 'sequence';
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* 流式响应接口
|
|
185
|
-
* @interface IBroadcastResponse
|
|
186
|
-
* @description 定义流式播报API的响应格式
|
|
187
|
-
*/
|
|
188
|
-
interface IBroadcastResponse {
|
|
189
|
-
/** 响应状态码,0表示成功 */
|
|
190
|
-
code: number;
|
|
191
|
-
/** 错误信息,可选 */
|
|
192
|
-
message?: string;
|
|
193
|
-
/** 响应数据 */
|
|
194
|
-
data: {
|
|
195
|
-
/** 音频文件URL,可选 */
|
|
196
|
-
voiceUrl?: string;
|
|
197
|
-
/** 任务ID,可选 */
|
|
198
|
-
taskId?: string;
|
|
199
|
-
/** 是否完成,可选 */
|
|
200
|
-
done?: boolean;
|
|
201
|
-
/** 口型数据URL,可选 */
|
|
202
|
-
mouthShapeUrl?: string;
|
|
203
|
-
/** 原始文本,可选 */
|
|
204
|
-
originalText?: string;
|
|
205
|
-
/** 字幕信息,可选 */
|
|
206
|
-
subtitleInfo?: {
|
|
207
|
-
/** 字幕列表 */
|
|
208
|
-
subtitleList: Array<{
|
|
209
|
-
/** 字幕索引 */
|
|
210
|
-
index: number;
|
|
211
|
-
/** 字幕文本 */
|
|
212
|
-
text: string;
|
|
213
|
-
/** 开始时间(毫秒) */
|
|
214
|
-
startTime: number;
|
|
215
|
-
/** 结束时间(毫秒) */
|
|
216
|
-
endTime: number;
|
|
217
|
-
}>;
|
|
218
|
-
};
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* 播报回调接口
|
|
223
|
-
* @interface IBroadcastCallbacks
|
|
224
|
-
* @description 定义播报过程中的事件回调函数
|
|
225
|
-
*/
|
|
226
|
-
interface IBroadcastCallbacks {
|
|
227
|
-
/** 播报开始时触发 */
|
|
228
|
-
onStart?: () => void;
|
|
229
|
-
/** 播报完成时触发 */
|
|
230
|
-
onFinish?: () => void;
|
|
231
|
-
/** 播报出错时触发 */
|
|
232
|
-
onError?: (error: Error) => void;
|
|
233
|
-
/** 播报暂停时触发 */
|
|
234
|
-
onPause?: () => void;
|
|
235
|
-
/** 播报恢复时触发 */
|
|
236
|
-
onResume?: () => void;
|
|
237
|
-
/** 播报停止时触发 */
|
|
238
|
-
onStop?: () => void;
|
|
239
|
-
/** 播报中断时触发 */
|
|
240
|
-
onAbort?: () => void;
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* 播报API接口
|
|
244
|
-
* @interface IBroadcastAPI
|
|
245
|
-
* @description 定义播报服务的核心API接口
|
|
246
|
-
*/
|
|
247
|
-
interface IBroadcastAPI {
|
|
248
|
-
/**
|
|
249
|
-
* 开始播报
|
|
250
|
-
* @param params - 播报参数
|
|
251
|
-
* @returns Promise<void> 播报操作的Promise
|
|
252
|
-
*/
|
|
253
|
-
startBroadcast(params: IBroadcastParams): Promise<void>;
|
|
254
|
-
/**
|
|
255
|
-
* 暂停播报
|
|
256
|
-
* @returns Promise<void> 暂停操作的Promise
|
|
257
|
-
*/
|
|
258
|
-
pauseBroadcast(resetIdle?: boolean): Promise<void>;
|
|
259
|
-
/**
|
|
260
|
-
* 恢复播报
|
|
261
|
-
* @returns Promise<void> 恢复操作的Promise
|
|
262
|
-
*/
|
|
263
|
-
resumeBroadcast(): Promise<void>;
|
|
264
|
-
/**
|
|
265
|
-
* 停止播报
|
|
266
|
-
* @returns Promise<void> 停止操作的Promise
|
|
267
|
-
*/
|
|
268
|
-
stopBroadcast(): Promise<void>;
|
|
269
|
-
/**
|
|
270
|
-
* 更新回调函数
|
|
271
|
-
* @param callbacks - 新的回调函数集合
|
|
272
|
-
*/
|
|
273
|
-
updateCallbacks(callbacks: IBroadcastCallbacks): void;
|
|
274
|
-
/**
|
|
275
|
-
* 获取当前播报状态
|
|
276
|
-
* @returns object 返回当前播报状态信息
|
|
277
|
-
*/
|
|
278
|
-
getStatus(): {
|
|
279
|
-
isActive: boolean;
|
|
280
|
-
isGeneratingAudio: boolean;
|
|
281
|
-
hasReceivedAudio: boolean;
|
|
282
|
-
queueInfo?: {
|
|
283
|
-
totalTasks: number;
|
|
284
|
-
requestingTasks: number;
|
|
285
|
-
completedTasks: number;
|
|
286
|
-
failedTasks: number;
|
|
287
|
-
totalPendingResponses: number;
|
|
288
|
-
currentSendingSequence: number;
|
|
289
|
-
};
|
|
290
|
-
};
|
|
291
|
-
/**
|
|
292
|
-
* 销毁播报服务
|
|
293
|
-
*/
|
|
294
|
-
destroy(): void;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
/**
|
|
298
|
-
* @fileoverview SDK配置接口定义
|
|
299
|
-
* @description 定义SDK实例初始化所需的配置参数
|
|
300
|
-
*/
|
|
301
|
-
|
|
302
|
-
/**
|
|
303
|
-
* SDK配置接口
|
|
304
|
-
* @interface IAvatarSDKConfig
|
|
305
|
-
* @description 定义SDK实例初始化所需的配置参数
|
|
306
|
-
*/
|
|
307
|
-
interface IAvatarSDKConfig {
|
|
308
|
-
/** 全局用户认证令牌 */
|
|
309
|
-
token?: string;
|
|
310
|
-
/** 运行环境 */
|
|
311
|
-
env?: 'dev' | 'test' | 'prod' | 'custom';
|
|
312
|
-
/** api接口地址,仅当env为custom时有效 */
|
|
313
|
-
apiUrl?: string;
|
|
314
|
-
/** 资源文件地址(父级路径),从平台下载的资源文件所解压出来的目录 */
|
|
315
|
-
assetsUrl: string;
|
|
316
|
-
/** Unity加载器脚本URL */
|
|
317
|
-
loaderUrl: string;
|
|
318
|
-
/** Unity数据文件URL */
|
|
319
|
-
dataUrl: string;
|
|
320
|
-
/** Unity框架文件URL */
|
|
321
|
-
frameworkUrl: string;
|
|
322
|
-
/** Unity代码文件URL */
|
|
323
|
-
codeUrl: string;
|
|
324
|
-
/** 容器DOM元素ID,可选,默认为'unity-container' */
|
|
325
|
-
containerId?: string;
|
|
326
|
-
/** 待机动作编码列表,随机播放(排重方式)可选 */
|
|
327
|
-
idleMotionList?: string[];
|
|
328
|
-
/** 3D渲染引擎加载进度回调函数,可选 */
|
|
329
|
-
onProgress?: (progress: number) => void;
|
|
330
|
-
/** 播报回调函数,可选 */
|
|
331
|
-
broadcastCallbacks?: IBroadcastCallbacks;
|
|
332
|
-
/** 是否启用调试日志,默认为false */
|
|
333
|
-
enableDebugLog?: boolean;
|
|
334
|
-
/** 内部 WEBGL 版本 */
|
|
335
|
-
audioDrivenVersion?: string;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
118
|
/**
|
|
339
119
|
* @fileoverview Avatar API接口定义
|
|
340
120
|
* @description 定义数字人控制API的核心接口、类型和枚举
|
|
@@ -426,178 +206,24 @@ interface IAvatarAPI {
|
|
|
426
206
|
}
|
|
427
207
|
|
|
428
208
|
/**
|
|
429
|
-
*
|
|
430
|
-
* @
|
|
209
|
+
* Unity服务日志记录器接口
|
|
210
|
+
* @interface ISimpleLogger
|
|
211
|
+
* @description 统一的日志记录接口
|
|
431
212
|
*/
|
|
213
|
+
interface ISimpleLogger {
|
|
214
|
+
/** 记录调试信息 */
|
|
215
|
+
debug(message: string, data?: any): void;
|
|
216
|
+
/** 记录一般信息 */
|
|
217
|
+
info(message: string, data?: any): void;
|
|
218
|
+
/** 记录警告信息 */
|
|
219
|
+
warn(message: string, data?: any): void;
|
|
220
|
+
/** 记录错误信息 */
|
|
221
|
+
error(message: string, error?: Error, data?: any): void;
|
|
222
|
+
}
|
|
432
223
|
|
|
433
224
|
/**
|
|
434
|
-
*
|
|
435
|
-
* @
|
|
436
|
-
* @description 提供统一的SDK接口,简化用户使用体验,支持多实例
|
|
437
|
-
*/
|
|
438
|
-
declare class ZEEAvatarSDK {
|
|
439
|
-
/** SDK唯一标识符 */
|
|
440
|
-
private readonly instanceId;
|
|
441
|
-
/** Unity加载器实例 */
|
|
442
|
-
private loader;
|
|
443
|
-
/** Avatar服务实例 */
|
|
444
|
-
private avatarService;
|
|
445
|
-
/** 播报服务实例 */
|
|
446
|
-
private broadcastService;
|
|
447
|
-
/** Unity实例 */
|
|
448
|
-
private unityInstance;
|
|
449
|
-
/** SDK初始化状态 */
|
|
450
|
-
private isInitialized;
|
|
451
|
-
/** SDK日志 */
|
|
452
|
-
private readonly logger;
|
|
453
|
-
/**
|
|
454
|
-
* 构造函数
|
|
455
|
-
* @param config SDK配置对象
|
|
456
|
-
*/
|
|
457
|
-
constructor(config: IAvatarSDKConfig);
|
|
458
|
-
/**
|
|
459
|
-
* 初始化数字人
|
|
460
|
-
* @param avatarCode 数字人编码
|
|
461
|
-
* @param cameraType 摄像机类型
|
|
462
|
-
* @returns Promise<IAvatarCallbackResponse> 初始化结果
|
|
463
|
-
* @description 统一的初始化方法,包含Unity实例初始化和数字人加载
|
|
464
|
-
*/
|
|
465
|
-
initializeAvatar(avatarCode: string, cameraType?: AvatarCameraType): Promise<IAvatarCallbackResponse>;
|
|
466
|
-
/**
|
|
467
|
-
* 更新Token
|
|
468
|
-
* @param token 新的认证Token
|
|
469
|
-
* @description 更新全局Token配置
|
|
470
|
-
*/
|
|
471
|
-
updateToken(token: string): void;
|
|
472
|
-
/**
|
|
473
|
-
* 播放数字人动作
|
|
474
|
-
* @param clipCode 动作编码
|
|
475
|
-
* @returns Promise<IAvatarCallbackResponse> 播放结果
|
|
476
|
-
*/
|
|
477
|
-
playMotion(clipCode: string): Promise<IAvatarCallbackResponse>;
|
|
478
|
-
/**
|
|
479
|
-
* 获取当前播放的动作信息
|
|
480
|
-
* @param getRemainingTime 是否获取剩余时间
|
|
481
|
-
* @returns Promise<IAvatarCallbackResponse> 动作信息
|
|
482
|
-
*/
|
|
483
|
-
getCurrentMotion(getRemainingTime?: boolean): Promise<IAvatarCallbackResponse>;
|
|
484
|
-
/**
|
|
485
|
-
* 卸载数字人
|
|
486
|
-
* @returns Promise<IAvatarCallbackResponse> 卸载结果
|
|
487
|
-
*/
|
|
488
|
-
unloadAvatar(): Promise<IAvatarCallbackResponse>;
|
|
489
|
-
/**
|
|
490
|
-
* 设置摄像机类型
|
|
491
|
-
* @param cameraType 摄像机类型
|
|
492
|
-
* @returns Promise<IAvatarCallbackResponse> 设置结果
|
|
493
|
-
*/
|
|
494
|
-
setCamera(cameraType: AvatarCameraType): Promise<IAvatarCallbackResponse>;
|
|
495
|
-
/**
|
|
496
|
-
* 开始播报
|
|
497
|
-
* @param params 播报参数
|
|
498
|
-
* @param isAppend 是否追加播报
|
|
499
|
-
* @returns Promise<void> 播报操作的Promise
|
|
500
|
-
*/
|
|
501
|
-
startBroadcast(params: IBroadcastParams, isAppend?: boolean): Promise<void>;
|
|
502
|
-
/**
|
|
503
|
-
* 暂停播报
|
|
504
|
-
* @param resetIdle 是否重置空闲状态
|
|
505
|
-
* @returns Promise<void> 暂停操作的Promise
|
|
506
|
-
*/
|
|
507
|
-
pauseBroadcast(resetIdle?: boolean): Promise<void>;
|
|
508
|
-
/**
|
|
509
|
-
* 恢复播报
|
|
510
|
-
* @returns Promise<void> 恢复操作的Promise
|
|
511
|
-
*/
|
|
512
|
-
resumeBroadcast(): Promise<void>;
|
|
513
|
-
/**
|
|
514
|
-
* 停止播报
|
|
515
|
-
* @returns Promise<void> 停止操作的Promise
|
|
516
|
-
*/
|
|
517
|
-
stopBroadcast(): Promise<void>;
|
|
518
|
-
/**
|
|
519
|
-
* 更新播报回调函数
|
|
520
|
-
* @param callbacks 新的回调函数集合
|
|
521
|
-
*/
|
|
522
|
-
updateBroadcastCallbacks(callbacks: IBroadcastCallbacks): void;
|
|
523
|
-
/**
|
|
524
|
-
* 获取播报状态
|
|
525
|
-
* @returns 播报状态信息
|
|
526
|
-
*/
|
|
527
|
-
getBroadcastStatus(): {
|
|
528
|
-
isActive: boolean;
|
|
529
|
-
isGeneratingAudio: boolean;
|
|
530
|
-
hasReceivedAudio: boolean;
|
|
531
|
-
queueInfo?: {
|
|
532
|
-
totalTasks: number;
|
|
533
|
-
requestingTasks: number;
|
|
534
|
-
completedTasks: number;
|
|
535
|
-
failedTasks: number;
|
|
536
|
-
totalPendingResponses: number;
|
|
537
|
-
currentSendingSequence: number;
|
|
538
|
-
};
|
|
539
|
-
};
|
|
540
|
-
/**
|
|
541
|
-
* 销毁SDK实例
|
|
542
|
-
* @description 清理所有资源,包括Unity实例和服务
|
|
543
|
-
*/
|
|
544
|
-
destroy(): void;
|
|
545
|
-
/**
|
|
546
|
-
* 获取SDK实例唯一标识符
|
|
547
|
-
* @returns string 实例ID
|
|
548
|
-
*/
|
|
549
|
-
getInstanceId(): string;
|
|
550
|
-
/**
|
|
551
|
-
* 获取SDK初始化状态
|
|
552
|
-
* @returns boolean 是否已初始化
|
|
553
|
-
*/
|
|
554
|
-
isSDKInitialized(): boolean;
|
|
555
|
-
/**
|
|
556
|
-
* 获取Avatar加载状态
|
|
557
|
-
* @returns boolean 是否已加载Avatar
|
|
558
|
-
*/
|
|
559
|
-
isAvatarInitialized(): boolean;
|
|
560
|
-
/**
|
|
561
|
-
* 获取SDK配置
|
|
562
|
-
* @returns IAvatarSDKConfig 当前配置
|
|
563
|
-
*/
|
|
564
|
-
getConfig(): IAvatarSDKConfig | null;
|
|
565
|
-
/**
|
|
566
|
-
* 确保SDK已初始化
|
|
567
|
-
* @private
|
|
568
|
-
*/
|
|
569
|
-
private ensureInitialized;
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
/**
|
|
573
|
-
* @fileoverview SDK 版本号常量
|
|
574
|
-
* @description 此文件由构建脚本自动生成,请勿手动修改
|
|
575
|
-
*/
|
|
576
|
-
/**
|
|
577
|
-
* SDK 版本号
|
|
578
|
-
* @const {string} SDK_VERSION
|
|
579
|
-
*/
|
|
580
|
-
declare const SDK_VERSION = "2.1.2";
|
|
581
|
-
|
|
582
|
-
/**
|
|
583
|
-
* Unity服务日志记录器接口
|
|
584
|
-
* @interface ISimpleLogger
|
|
585
|
-
* @description 统一的日志记录接口
|
|
586
|
-
*/
|
|
587
|
-
interface ISimpleLogger {
|
|
588
|
-
/** 记录调试信息 */
|
|
589
|
-
debug(message: string, data?: any): void;
|
|
590
|
-
/** 记录一般信息 */
|
|
591
|
-
info(message: string, data?: any): void;
|
|
592
|
-
/** 记录警告信息 */
|
|
593
|
-
warn(message: string, data?: any): void;
|
|
594
|
-
/** 记录错误信息 */
|
|
595
|
-
error(message: string, error?: Error, data?: any): void;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
/**
|
|
599
|
-
* @fileoverview Unity服务抽象基类
|
|
600
|
-
* @description 提供Unity服务的通用基础实现,包括回调管理、消息发送、错误处理等功能
|
|
225
|
+
* @fileoverview Unity服务抽象基类
|
|
226
|
+
* @description 提供Unity服务的通用基础实现,包括回调管理、消息发送、错误处理等功能
|
|
601
227
|
*/
|
|
602
228
|
|
|
603
229
|
/**
|
|
@@ -976,6 +602,7 @@ declare class BroadcastService extends UnityBaseService<BroadcastOperationType>
|
|
|
976
602
|
hasReceivedAudio: boolean;
|
|
977
603
|
queueInfo?: {
|
|
978
604
|
totalTasks: number;
|
|
605
|
+
pendingTasks: number;
|
|
979
606
|
requestingTasks: number;
|
|
980
607
|
completedTasks: number;
|
|
981
608
|
failedTasks: number;
|
|
@@ -999,22 +626,22 @@ declare class BroadcastService extends UnityBaseService<BroadcastOperationType>
|
|
|
999
626
|
/**
|
|
1000
627
|
* 添加任务到队列
|
|
1001
628
|
* @param task - 播报任务
|
|
1002
|
-
* @description
|
|
629
|
+
* @description 将任务添加到队列,只有当没有正在请求的任务时才开始请求(串行请求模式)
|
|
1003
630
|
* @private
|
|
1004
631
|
*/
|
|
1005
632
|
private addTaskToQueue;
|
|
1006
633
|
/**
|
|
1007
634
|
* 处理队列
|
|
1008
|
-
* @description
|
|
635
|
+
* @description 处理队列中的任务响应,按序号发送给unity播放
|
|
1009
636
|
* @private
|
|
1010
637
|
*/
|
|
1011
|
-
private
|
|
638
|
+
private processTaskQueue;
|
|
1012
639
|
/**
|
|
1013
640
|
* 队列处理步骤
|
|
1014
|
-
* @description
|
|
641
|
+
* @description 处理队列中的单个步骤,按序号发送给unity播放
|
|
1015
642
|
* @private
|
|
1016
643
|
*/
|
|
1017
|
-
private
|
|
644
|
+
private processTaskQueueStep;
|
|
1018
645
|
/**
|
|
1019
646
|
* 开始任务请求
|
|
1020
647
|
* @param task - 播报任务
|
|
@@ -1031,16 +658,16 @@ declare class BroadcastService extends UnityBaseService<BroadcastOperationType>
|
|
|
1031
658
|
*/
|
|
1032
659
|
private handleTaskResponse;
|
|
1033
660
|
/**
|
|
1034
|
-
*
|
|
661
|
+
* 发送下一个响应给unity播放
|
|
1035
662
|
* @param task - 播报任务
|
|
1036
|
-
* @description
|
|
663
|
+
* @description 发送任务的响应数组中的第一个待发送响应到Unity(按顺序发送),发送后立即删除
|
|
1037
664
|
* @private
|
|
1038
665
|
*/
|
|
1039
666
|
private sendNextResponse;
|
|
1040
667
|
/**
|
|
1041
668
|
* 处理任务关闭
|
|
1042
669
|
* @param task - 播报任务
|
|
1043
|
-
* @description
|
|
670
|
+
* @description 处理任务的流式连接关闭,并启动下一个待处理任务的请求
|
|
1044
671
|
* @private
|
|
1045
672
|
*/
|
|
1046
673
|
private handleTaskClose;
|
|
@@ -1048,7 +675,7 @@ declare class BroadcastService extends UnityBaseService<BroadcastOperationType>
|
|
|
1048
675
|
* 处理任务错误
|
|
1049
676
|
* @param task - 播报任务
|
|
1050
677
|
* @param error - 错误对象
|
|
1051
|
-
* @description
|
|
678
|
+
* @description 处理任务执行过程中的错误,防止重复触发错误回调,并启动下一个待处理任务
|
|
1052
679
|
* @private
|
|
1053
680
|
*/
|
|
1054
681
|
private handleTaskError;
|
|
@@ -1093,10 +720,17 @@ declare class BroadcastService extends UnityBaseService<BroadcastOperationType>
|
|
|
1093
720
|
/**
|
|
1094
721
|
* 处理播报错误
|
|
1095
722
|
* @param errorCode - 错误码
|
|
723
|
+
* @param errorMessage - 错误消息
|
|
1096
724
|
* @description 处理播报过程中的错误
|
|
1097
725
|
* @private
|
|
1098
726
|
*/
|
|
1099
727
|
private handleBroadcastError;
|
|
728
|
+
/**
|
|
729
|
+
* 启动下一个待处理任务的请求
|
|
730
|
+
* @description 在当前任务请求完成或失败后,检查并启动下一个待处理任务
|
|
731
|
+
* @private
|
|
732
|
+
*/
|
|
733
|
+
private startNextPendingTask;
|
|
1100
734
|
/**
|
|
1101
735
|
* 清理队列处理定时器
|
|
1102
736
|
* @description 清理队列处理定时器
|
|
@@ -1423,5 +1057,382 @@ declare class ZEEAvatarLoader {
|
|
|
1423
1057
|
protected initGlobalConfig(): void;
|
|
1424
1058
|
}
|
|
1425
1059
|
|
|
1060
|
+
/**
|
|
1061
|
+
* @fileoverview 流式播报服务接口定义
|
|
1062
|
+
* @description 定义流式播报服务相关的类型、接口和枚举
|
|
1063
|
+
*/
|
|
1064
|
+
|
|
1065
|
+
/**
|
|
1066
|
+
* 播报操作类型枚举
|
|
1067
|
+
* @enum {string}
|
|
1068
|
+
* @description 定义播报服务支持的操作类型
|
|
1069
|
+
*/
|
|
1070
|
+
declare enum BroadcastOperationType {
|
|
1071
|
+
START_BROADCAST = "startBroadcast",
|
|
1072
|
+
PAUSE_BROADCAST = "pauseBroadcast",
|
|
1073
|
+
RESUME_BROADCAST = "resumeBroadcast",
|
|
1074
|
+
STOP_BROADCAST = "stopBroadcast",
|
|
1075
|
+
APPEND_BROADCAST = "appendBroadcast"
|
|
1076
|
+
}
|
|
1077
|
+
/**
|
|
1078
|
+
* 播报类型枚举
|
|
1079
|
+
* @enum {string}
|
|
1080
|
+
* @description 定义播报的类型,支持文本转语音和自定义音频播报
|
|
1081
|
+
*/
|
|
1082
|
+
declare enum BroadcastType {
|
|
1083
|
+
/** 文本智能体播报 */
|
|
1084
|
+
TEXT = "text",
|
|
1085
|
+
/** 自定义音频智能体播报 */
|
|
1086
|
+
AUDIO = "audio"
|
|
1087
|
+
}
|
|
1088
|
+
/**
|
|
1089
|
+
* 播报服务配置接口
|
|
1090
|
+
* @interface IBroadcastServiceConfig
|
|
1091
|
+
* @extends {IUnityServiceConfig}
|
|
1092
|
+
* @description 播报服务的配置选项
|
|
1093
|
+
*/
|
|
1094
|
+
interface IBroadcastServiceConfig extends IUnityServiceConfig {
|
|
1095
|
+
/** 事件回调函数集合 */
|
|
1096
|
+
callbacks?: IBroadcastCallbacks;
|
|
1097
|
+
}
|
|
1098
|
+
/**
|
|
1099
|
+
* 播报参数接口
|
|
1100
|
+
* @interface IBroadcastParams
|
|
1101
|
+
* @description 定义播报操作所需的参数
|
|
1102
|
+
*/
|
|
1103
|
+
interface IBroadcastParams {
|
|
1104
|
+
/** 播报类型 */
|
|
1105
|
+
type: BroadcastType;
|
|
1106
|
+
/** 数字人编码 */
|
|
1107
|
+
humanCode: string;
|
|
1108
|
+
/** 播报文本内容(文本播报时必填) */
|
|
1109
|
+
text?: string;
|
|
1110
|
+
/** 自定义音频URL(音频播报时必填) */
|
|
1111
|
+
audioUrl?: string;
|
|
1112
|
+
/** 音色编码(文本播报时必填) */
|
|
1113
|
+
voiceCode?: string;
|
|
1114
|
+
/** 播报速度,可选 */
|
|
1115
|
+
speed?: number;
|
|
1116
|
+
/** 播报音量(0-1) */
|
|
1117
|
+
volume: number;
|
|
1118
|
+
/** 是否显示字幕 */
|
|
1119
|
+
isSubtitle: boolean;
|
|
1120
|
+
/** 播报过程中才播放的动作集合,每个动作间隔2-3秒循环播放,播报顺序根据`motionPlayMode`参数处理,默认为`随机`,可选 */
|
|
1121
|
+
motionList?: string[];
|
|
1122
|
+
/** 动作播放模式,随机、顺序,随机=`random`,顺序=`sequence` */
|
|
1123
|
+
motionPlayMode?: 'random' | 'sequence';
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* 流式响应接口
|
|
1127
|
+
* @interface IBroadcastResponse
|
|
1128
|
+
* @description 定义流式播报API的响应格式
|
|
1129
|
+
*/
|
|
1130
|
+
interface IBroadcastResponse {
|
|
1131
|
+
/** 响应状态码,0表示成功 */
|
|
1132
|
+
code: number;
|
|
1133
|
+
/** 错误信息,可选 */
|
|
1134
|
+
message?: string;
|
|
1135
|
+
/** 响应数据 */
|
|
1136
|
+
data: {
|
|
1137
|
+
/** 音频文件URL,可选 */
|
|
1138
|
+
voiceUrl?: string;
|
|
1139
|
+
/** 任务ID,可选 */
|
|
1140
|
+
taskId?: string;
|
|
1141
|
+
/** 是否完成,可选 */
|
|
1142
|
+
done?: boolean;
|
|
1143
|
+
/** 口型数据URL,可选 */
|
|
1144
|
+
mouthShapeUrl?: string;
|
|
1145
|
+
/** 原始文本,可选 */
|
|
1146
|
+
originalText?: string;
|
|
1147
|
+
/** 字幕信息,可选 */
|
|
1148
|
+
subtitleInfo?: {
|
|
1149
|
+
/** 字幕列表 */
|
|
1150
|
+
subtitleList: Array<{
|
|
1151
|
+
/** 字幕索引 */
|
|
1152
|
+
index: number;
|
|
1153
|
+
/** 字幕文本 */
|
|
1154
|
+
text: string;
|
|
1155
|
+
/** 开始时间(毫秒) */
|
|
1156
|
+
startTime: number;
|
|
1157
|
+
/** 结束时间(毫秒) */
|
|
1158
|
+
endTime: number;
|
|
1159
|
+
}>;
|
|
1160
|
+
};
|
|
1161
|
+
};
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* 播报回调接口
|
|
1165
|
+
* @interface IBroadcastCallbacks
|
|
1166
|
+
* @description 定义播报过程中的事件回调函数
|
|
1167
|
+
*/
|
|
1168
|
+
interface IBroadcastCallbacks {
|
|
1169
|
+
/** 播报开始时触发 */
|
|
1170
|
+
onStart?: () => void;
|
|
1171
|
+
/** 播报完成时触发 */
|
|
1172
|
+
onFinish?: () => void;
|
|
1173
|
+
/** 播报出错时触发 */
|
|
1174
|
+
onError?: (error: SDKError) => void;
|
|
1175
|
+
/** 播报暂停时触发 */
|
|
1176
|
+
onPause?: () => void;
|
|
1177
|
+
/** 播报恢复时触发 */
|
|
1178
|
+
onResume?: () => void;
|
|
1179
|
+
/** 播报停止时触发 */
|
|
1180
|
+
onStop?: () => void;
|
|
1181
|
+
/** 播报中断时触发 */
|
|
1182
|
+
onAbort?: () => void;
|
|
1183
|
+
}
|
|
1184
|
+
/**
|
|
1185
|
+
* 播报API接口
|
|
1186
|
+
* @interface IBroadcastAPI
|
|
1187
|
+
* @description 定义播报服务的核心API接口
|
|
1188
|
+
*/
|
|
1189
|
+
interface IBroadcastAPI {
|
|
1190
|
+
/**
|
|
1191
|
+
* 开始播报
|
|
1192
|
+
* @param params - 播报参数
|
|
1193
|
+
* @returns Promise<void> 播报操作的Promise
|
|
1194
|
+
*/
|
|
1195
|
+
startBroadcast(params: IBroadcastParams): Promise<void>;
|
|
1196
|
+
/**
|
|
1197
|
+
* 暂停播报
|
|
1198
|
+
* @returns Promise<void> 暂停操作的Promise
|
|
1199
|
+
*/
|
|
1200
|
+
pauseBroadcast(resetIdle?: boolean): Promise<void>;
|
|
1201
|
+
/**
|
|
1202
|
+
* 恢复播报
|
|
1203
|
+
* @returns Promise<void> 恢复操作的Promise
|
|
1204
|
+
*/
|
|
1205
|
+
resumeBroadcast(): Promise<void>;
|
|
1206
|
+
/**
|
|
1207
|
+
* 停止播报
|
|
1208
|
+
* @returns Promise<void> 停止操作的Promise
|
|
1209
|
+
*/
|
|
1210
|
+
stopBroadcast(): Promise<void>;
|
|
1211
|
+
/**
|
|
1212
|
+
* 更新回调函数
|
|
1213
|
+
* @param callbacks - 新的回调函数集合
|
|
1214
|
+
*/
|
|
1215
|
+
updateCallbacks(callbacks: IBroadcastCallbacks): void;
|
|
1216
|
+
/**
|
|
1217
|
+
* 获取当前播报状态
|
|
1218
|
+
* @returns object 返回当前播报状态信息
|
|
1219
|
+
*/
|
|
1220
|
+
getStatus(): {
|
|
1221
|
+
isActive: boolean;
|
|
1222
|
+
isGeneratingAudio: boolean;
|
|
1223
|
+
hasReceivedAudio: boolean;
|
|
1224
|
+
queueInfo?: {
|
|
1225
|
+
totalTasks: number;
|
|
1226
|
+
requestingTasks: number;
|
|
1227
|
+
completedTasks: number;
|
|
1228
|
+
failedTasks: number;
|
|
1229
|
+
totalPendingResponses: number;
|
|
1230
|
+
currentSendingSequence: number;
|
|
1231
|
+
};
|
|
1232
|
+
};
|
|
1233
|
+
/**
|
|
1234
|
+
* 销毁播报服务
|
|
1235
|
+
*/
|
|
1236
|
+
destroy(): void;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
/**
|
|
1240
|
+
* @fileoverview SDK配置接口定义
|
|
1241
|
+
* @description 定义SDK实例初始化所需的配置参数
|
|
1242
|
+
*/
|
|
1243
|
+
|
|
1244
|
+
/**
|
|
1245
|
+
* SDK配置接口
|
|
1246
|
+
* @interface IAvatarSDKConfig
|
|
1247
|
+
* @description 定义SDK实例初始化所需的配置参数
|
|
1248
|
+
*/
|
|
1249
|
+
interface IAvatarSDKConfig {
|
|
1250
|
+
/** 全局用户认证令牌 */
|
|
1251
|
+
token?: string;
|
|
1252
|
+
/** 运行环境 */
|
|
1253
|
+
env?: 'dev' | 'test' | 'prod' | 'custom';
|
|
1254
|
+
/** api接口地址,仅当env为custom时有效 */
|
|
1255
|
+
apiUrl?: string;
|
|
1256
|
+
/** 资源文件地址(父级路径),从平台下载的资源文件所解压出来的目录 */
|
|
1257
|
+
assetsUrl: string;
|
|
1258
|
+
/** Unity加载器脚本URL */
|
|
1259
|
+
loaderUrl: string;
|
|
1260
|
+
/** Unity数据文件URL */
|
|
1261
|
+
dataUrl: string;
|
|
1262
|
+
/** Unity框架文件URL */
|
|
1263
|
+
frameworkUrl: string;
|
|
1264
|
+
/** Unity代码文件URL */
|
|
1265
|
+
codeUrl: string;
|
|
1266
|
+
/** 容器DOM元素ID,可选,默认为'unity-container' */
|
|
1267
|
+
containerId?: string;
|
|
1268
|
+
/** 待机动作编码列表,随机播放(排重方式)可选 */
|
|
1269
|
+
idleMotionList?: string[];
|
|
1270
|
+
/** 3D渲染引擎加载进度回调函数,可选 */
|
|
1271
|
+
onProgress?: (progress: number) => void;
|
|
1272
|
+
/** 播报回调函数,可选 */
|
|
1273
|
+
broadcastCallbacks?: IBroadcastCallbacks;
|
|
1274
|
+
/** 是否启用调试日志,默认为false */
|
|
1275
|
+
enableDebugLog?: boolean;
|
|
1276
|
+
/** 内部 WEBGL 版本 */
|
|
1277
|
+
audioDrivenVersion?: string;
|
|
1278
|
+
/** 操作超时时间(毫秒),默认为30000 */
|
|
1279
|
+
operationTimeout?: number;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
/**
|
|
1283
|
+
* @fileoverview 统一的3D数字人SDK入口类
|
|
1284
|
+
* @description 提供统一的SDK接口,内部通过组合模式调用各个服务模块
|
|
1285
|
+
*/
|
|
1286
|
+
|
|
1287
|
+
/**
|
|
1288
|
+
* 统一的3D数字人SDK类
|
|
1289
|
+
* @class ZEEAvatarSDK
|
|
1290
|
+
* @description 提供统一的SDK接口,简化用户使用体验,支持多实例
|
|
1291
|
+
*/
|
|
1292
|
+
declare class ZEEAvatarSDK {
|
|
1293
|
+
/** SDK唯一标识符 */
|
|
1294
|
+
private readonly instanceId;
|
|
1295
|
+
/** Unity加载器实例 */
|
|
1296
|
+
private loader;
|
|
1297
|
+
/** Avatar服务实例 */
|
|
1298
|
+
private avatarService;
|
|
1299
|
+
/** 播报服务实例 */
|
|
1300
|
+
private broadcastService;
|
|
1301
|
+
/** Unity实例 */
|
|
1302
|
+
private unityInstance;
|
|
1303
|
+
/** SDK初始化状态 */
|
|
1304
|
+
private isInitialized;
|
|
1305
|
+
/** SDK日志 */
|
|
1306
|
+
private readonly logger;
|
|
1307
|
+
/**
|
|
1308
|
+
* 构造函数
|
|
1309
|
+
* @param config SDK配置对象
|
|
1310
|
+
*/
|
|
1311
|
+
constructor(config: IAvatarSDKConfig);
|
|
1312
|
+
/**
|
|
1313
|
+
* 初始化数字人
|
|
1314
|
+
* @param avatarCode 数字人编码
|
|
1315
|
+
* @param cameraType 摄像机类型
|
|
1316
|
+
* @returns Promise<IAvatarCallbackResponse> 初始化结果
|
|
1317
|
+
* @description 统一的初始化方法,包含Unity实例初始化和数字人加载
|
|
1318
|
+
*/
|
|
1319
|
+
initializeAvatar(avatarCode: string, cameraType?: AvatarCameraType): Promise<IAvatarCallbackResponse>;
|
|
1320
|
+
/**
|
|
1321
|
+
* 更新Token
|
|
1322
|
+
* @param token 新的认证Token
|
|
1323
|
+
* @description 更新全局Token配置
|
|
1324
|
+
*/
|
|
1325
|
+
updateToken(token: string): void;
|
|
1326
|
+
/**
|
|
1327
|
+
* 播放数字人动作
|
|
1328
|
+
* @param clipCode 动作编码
|
|
1329
|
+
* @returns Promise<IAvatarCallbackResponse> 播放结果
|
|
1330
|
+
*/
|
|
1331
|
+
playMotion(clipCode: string): Promise<IAvatarCallbackResponse>;
|
|
1332
|
+
/**
|
|
1333
|
+
* 获取当前播放的动作信息
|
|
1334
|
+
* @param getRemainingTime 是否获取剩余时间
|
|
1335
|
+
* @returns Promise<IAvatarCallbackResponse> 动作信息
|
|
1336
|
+
*/
|
|
1337
|
+
getCurrentMotion(getRemainingTime?: boolean): Promise<IAvatarCallbackResponse>;
|
|
1338
|
+
/**
|
|
1339
|
+
* 卸载数字人
|
|
1340
|
+
* @returns Promise<IAvatarCallbackResponse> 卸载结果
|
|
1341
|
+
*/
|
|
1342
|
+
unloadAvatar(): Promise<IAvatarCallbackResponse>;
|
|
1343
|
+
/**
|
|
1344
|
+
* 设置摄像机类型
|
|
1345
|
+
* @param cameraType 摄像机类型
|
|
1346
|
+
* @returns Promise<IAvatarCallbackResponse> 设置结果
|
|
1347
|
+
*/
|
|
1348
|
+
setCamera(cameraType: AvatarCameraType): Promise<IAvatarCallbackResponse>;
|
|
1349
|
+
/**
|
|
1350
|
+
* 开始播报
|
|
1351
|
+
* @param params 播报参数
|
|
1352
|
+
* @param isAppend 是否追加播报
|
|
1353
|
+
* @returns Promise<void> 播报操作的Promise
|
|
1354
|
+
*/
|
|
1355
|
+
startBroadcast(params: IBroadcastParams, isAppend?: boolean): Promise<void>;
|
|
1356
|
+
/**
|
|
1357
|
+
* 暂停播报
|
|
1358
|
+
* @param resetIdle 是否重置空闲状态
|
|
1359
|
+
* @returns Promise<void> 暂停操作的Promise
|
|
1360
|
+
*/
|
|
1361
|
+
pauseBroadcast(resetIdle?: boolean): Promise<void>;
|
|
1362
|
+
/**
|
|
1363
|
+
* 恢复播报
|
|
1364
|
+
* @returns Promise<void> 恢复操作的Promise
|
|
1365
|
+
*/
|
|
1366
|
+
resumeBroadcast(): Promise<void>;
|
|
1367
|
+
/**
|
|
1368
|
+
* 停止播报
|
|
1369
|
+
* @returns Promise<void> 停止操作的Promise
|
|
1370
|
+
*/
|
|
1371
|
+
stopBroadcast(): Promise<void>;
|
|
1372
|
+
/**
|
|
1373
|
+
* 更新播报回调函数
|
|
1374
|
+
* @param callbacks 新的回调函数集合
|
|
1375
|
+
*/
|
|
1376
|
+
updateBroadcastCallbacks(callbacks: IBroadcastCallbacks): void;
|
|
1377
|
+
/**
|
|
1378
|
+
* 获取播报状态
|
|
1379
|
+
* @returns 播报状态信息
|
|
1380
|
+
*/
|
|
1381
|
+
getBroadcastStatus(): {
|
|
1382
|
+
isActive: boolean;
|
|
1383
|
+
isGeneratingAudio: boolean;
|
|
1384
|
+
hasReceivedAudio: boolean;
|
|
1385
|
+
queueInfo?: {
|
|
1386
|
+
totalTasks: number;
|
|
1387
|
+
pendingTasks: number;
|
|
1388
|
+
requestingTasks: number;
|
|
1389
|
+
completedTasks: number;
|
|
1390
|
+
failedTasks: number;
|
|
1391
|
+
totalPendingResponses: number;
|
|
1392
|
+
currentSendingSequence: number;
|
|
1393
|
+
};
|
|
1394
|
+
};
|
|
1395
|
+
/**
|
|
1396
|
+
* 销毁SDK实例
|
|
1397
|
+
* @description 清理所有资源,包括Unity实例和服务
|
|
1398
|
+
*/
|
|
1399
|
+
destroy(): void;
|
|
1400
|
+
/**
|
|
1401
|
+
* 获取SDK实例唯一标识符
|
|
1402
|
+
* @returns string 实例ID
|
|
1403
|
+
*/
|
|
1404
|
+
getInstanceId(): string;
|
|
1405
|
+
/**
|
|
1406
|
+
* 获取SDK初始化状态
|
|
1407
|
+
* @returns boolean 是否已初始化
|
|
1408
|
+
*/
|
|
1409
|
+
isSDKInitialized(): boolean;
|
|
1410
|
+
/**
|
|
1411
|
+
* 获取Avatar加载状态
|
|
1412
|
+
* @returns boolean 是否已加载Avatar
|
|
1413
|
+
*/
|
|
1414
|
+
isAvatarInitialized(): boolean;
|
|
1415
|
+
/**
|
|
1416
|
+
* 获取SDK配置
|
|
1417
|
+
* @returns IAvatarSDKConfig 当前配置
|
|
1418
|
+
*/
|
|
1419
|
+
getConfig(): IAvatarSDKConfig | null;
|
|
1420
|
+
/**
|
|
1421
|
+
* 确保SDK已初始化
|
|
1422
|
+
* @private
|
|
1423
|
+
*/
|
|
1424
|
+
private ensureInitialized;
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
/**
|
|
1428
|
+
* @fileoverview SDK 版本号常量
|
|
1429
|
+
* @description 此文件由构建脚本自动生成,请勿手动修改
|
|
1430
|
+
*/
|
|
1431
|
+
/**
|
|
1432
|
+
* SDK 版本号
|
|
1433
|
+
* @const {string} SDK_VERSION
|
|
1434
|
+
*/
|
|
1435
|
+
declare const SDK_VERSION = "2.1.3";
|
|
1436
|
+
|
|
1426
1437
|
export { AvatarCameraType, AvatarOperationType, AvatarService, BroadcastOperationType, BroadcastService, BroadcastType, ConfigErrorCode, ERROR_CODE_MAP, ErrorCategory, NetworkErrorCode, OperationErrorCode, ResourceErrorCode, SDKError, SDK_VERSION, SystemErrorCode, UnityOperationStatus, ZEEAvatarLoader, ZEEAvatarSDK, getErrorInfo };
|
|
1427
1438
|
export type { IAvatarAPI, IAvatarCallbackResponse, IAvatarSDKConfig, IBroadcastAPI, IBroadcastCallbacks, IBroadcastParams, IBroadcastResponse, IBroadcastServiceConfig, IUnityCallbackManager, IUnityCallbackResponse, IUnityInstance, IUnityMessageSender, IUnityServiceConfig, SDKErrorCode, TOperationType };
|