@xmaxai/web-sdk 1.0.8 → 1.0.10

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.
@@ -0,0 +1,8 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+
5
+ export {
6
+ __publicField
7
+ };
8
+ //# sourceMappingURL=chunk-V6TY7KAL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.cjs CHANGED
@@ -33,9 +33,10 @@
33
33
 
34
34
 
35
35
 
36
- var _chunk24VPU65Tcjs = require('./chunk-24VPU65T.cjs');
37
36
 
38
37
 
38
+ var _chunkUF2RD42Gcjs = require('./chunk-UF2RD42G.cjs');
39
+ require('./chunk-4DE2IREA.cjs');
39
40
 
40
41
 
41
42
 
@@ -69,5 +70,9 @@ var _chunk24VPU65Tcjs = require('./chunk-24VPU65T.cjs');
69
70
 
70
71
 
71
72
 
72
- exports.CameraPosition = _chunk24VPU65Tcjs.CameraPosition; exports.MediaService = _chunk24VPU65Tcjs.MediaService; exports.NonRealtimeQuality = _chunk24VPU65Tcjs.NonRealtimeQuality; exports.NonRealtimeTaskError = _chunk24VPU65Tcjs.NonRealtimeTaskError; exports.NonRealtimeTaskStatus = _chunk24VPU65Tcjs.NonRealtimeTaskStatus; exports.RealtimeConfiguration = _chunk24VPU65Tcjs.RealtimeConfiguration; exports.RealtimeConnectionState = _chunk24VPU65Tcjs.RealtimeConnectionState; exports.RealtimeContext = _chunk24VPU65Tcjs.RealtimeContext; exports.RealtimeMediaStream = _chunk24VPU65Tcjs.RealtimeMediaStream; exports.RealtimeModel = _chunk24VPU65Tcjs.RealtimeModel; exports.RealtimeReason = _chunk24VPU65Tcjs.RealtimeReason; exports.RealtimeState = _chunk24VPU65Tcjs.RealtimeState; exports.RealtimeVideoEncoderPreference = _chunk24VPU65Tcjs.RealtimeVideoEncoderPreference; exports.RealtimeVideoFormat = _chunk24VPU65Tcjs.RealtimeVideoFormat; exports.RealtimeVideoSampleMethod = _chunk24VPU65Tcjs.RealtimeVideoSampleMethod; exports.RealtimeVideoTrack = _chunk24VPU65Tcjs.RealtimeVideoTrack; exports.RtcProvider = _chunk24VPU65Tcjs.RtcProvider; exports.StorageService = _chunk24VPU65Tcjs.StorageService; exports.StoredFile = _chunk24VPU65Tcjs.StoredFile; exports.VideoContentMode = _chunk24VPU65Tcjs.VideoContentMode; exports.XmaxClient = _chunk24VPU65Tcjs.XmaxClient; exports.XmaxConfiguration = _chunk24VPU65Tcjs.XmaxConfiguration; exports.XmaxEnvironment = _chunk24VPU65Tcjs.XmaxEnvironment; exports.XmaxError = _chunk24VPU65Tcjs.XmaxError; exports.XmaxErrorCode = _chunk24VPU65Tcjs.XmaxErrorCode; exports.XmaxLogger = _chunk24VPU65Tcjs.XmaxLogger; exports.XmaxLoggerOption = _chunk24VPU65Tcjs.XmaxLoggerOption; exports.XmaxRealtimeVideoView = _chunk24VPU65Tcjs.XmaxRealtimeVideoView; exports.XmaxVideoView = _chunk24VPU65Tcjs.XmaxVideoView; exports.apiBaseURL = _chunk24VPU65Tcjs.apiBaseURL; exports.defaultCameraVideoFormat = _chunk24VPU65Tcjs.defaultCameraVideoFormat; exports.defaultFrameRate = _chunk24VPU65Tcjs.defaultFrameRate; exports.modelDisplayName = _chunk24VPU65Tcjs.modelDisplayName; exports.supportedRtcProviders = _chunk24VPU65Tcjs.supportedRtcProviders;
73
+
74
+
75
+
76
+
77
+ exports.CameraPosition = _chunkUF2RD42Gcjs.CameraPosition; exports.MediaService = _chunkUF2RD42Gcjs.MediaService; exports.NonRealtimeQuality = _chunkUF2RD42Gcjs.NonRealtimeQuality; exports.NonRealtimeTaskError = _chunkUF2RD42Gcjs.NonRealtimeTaskError; exports.NonRealtimeTaskStatus = _chunkUF2RD42Gcjs.NonRealtimeTaskStatus; exports.RealtimeConfiguration = _chunkUF2RD42Gcjs.RealtimeConfiguration; exports.RealtimeConnectionState = _chunkUF2RD42Gcjs.RealtimeConnectionState; exports.RealtimeContext = _chunkUF2RD42Gcjs.RealtimeContext; exports.RealtimeMediaStream = _chunkUF2RD42Gcjs.RealtimeMediaStream; exports.RealtimeModel = _chunkUF2RD42Gcjs.RealtimeModel; exports.RealtimeReason = _chunkUF2RD42Gcjs.RealtimeReason; exports.RealtimeRecordingEventType = _chunkUF2RD42Gcjs.RealtimeRecordingEventType; exports.RealtimeRecordingFinishReason = _chunkUF2RD42Gcjs.RealtimeRecordingFinishReason; exports.RealtimeState = _chunkUF2RD42Gcjs.RealtimeState; exports.RealtimeVideoEncoderPreference = _chunkUF2RD42Gcjs.RealtimeVideoEncoderPreference; exports.RealtimeVideoFormat = _chunkUF2RD42Gcjs.RealtimeVideoFormat; exports.RealtimeVideoSampleMethod = _chunkUF2RD42Gcjs.RealtimeVideoSampleMethod; exports.RealtimeVideoTrack = _chunkUF2RD42Gcjs.RealtimeVideoTrack; exports.RtcProvider = _chunkUF2RD42Gcjs.RtcProvider; exports.StorageService = _chunkUF2RD42Gcjs.StorageService; exports.StoredFile = _chunkUF2RD42Gcjs.StoredFile; exports.VideoContentMode = _chunkUF2RD42Gcjs.VideoContentMode; exports.XmaxClient = _chunkUF2RD42Gcjs.XmaxClient; exports.XmaxConfiguration = _chunkUF2RD42Gcjs.XmaxConfiguration; exports.XmaxEnvironment = _chunkUF2RD42Gcjs.XmaxEnvironment; exports.XmaxError = _chunkUF2RD42Gcjs.XmaxError; exports.XmaxErrorCode = _chunkUF2RD42Gcjs.XmaxErrorCode; exports.XmaxLogger = _chunkUF2RD42Gcjs.XmaxLogger; exports.XmaxLoggerOption = _chunkUF2RD42Gcjs.XmaxLoggerOption; exports.XmaxRealtimeVideoView = _chunkUF2RD42Gcjs.XmaxRealtimeVideoView; exports.XmaxVideoView = _chunkUF2RD42Gcjs.XmaxVideoView; exports.apiBaseURL = _chunkUF2RD42Gcjs.apiBaseURL; exports.defaultCameraVideoFormat = _chunkUF2RD42Gcjs.defaultCameraVideoFormat; exports.defaultFrameRate = _chunkUF2RD42Gcjs.defaultFrameRate; exports.modelDisplayName = _chunkUF2RD42Gcjs.modelDisplayName; exports.supportedRtcProviders = _chunkUF2RD42Gcjs.supportedRtcProviders;
73
78
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/private/var/folders/5j/p3g3j18x2w3byrl5wtnk94tc0000gn/T/xmax-web-release-NxUj61/source/packages/xmax-sdk/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,unEAAC","file":"/private/var/folders/5j/p3g3j18x2w3byrl5wtnk94tc0000gn/T/xmax-web-release-NxUj61/source/packages/xmax-sdk/dist/index.cjs"}
1
+ {"version":3,"sources":["/private/var/folders/5j/p3g3j18x2w3byrl5wtnk94tc0000gn/T/xmax-web-release-ox16QE/source/packages/xmax-sdk/dist/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B,gCAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,myEAAC","file":"/private/var/folders/5j/p3g3j18x2w3byrl5wtnk94tc0000gn/T/xmax-web-release-ox16QE/source/packages/xmax-sdk/dist/index.cjs"}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { R as RealtimeVideoFormat, a as RealtimeVideoTrack, C as CameraPosition, V as VideoContentMode, b as VideoRenderStatistics } from './VideoRenderStatistics-C7zqzfuS.cjs';
2
- export { c as RealtimeVideoEncoderPreference, d as RealtimeVideoFormatInit } from './VideoRenderStatistics-C7zqzfuS.cjs';
1
+ import { R as RealtimeVideoFormat, a as RealtimeVideoTrack, C as CameraPosition, V as VideoContentMode, T as TrajectoryEffectRendering, b as VideoRenderStatistics } from './TrajectoryEffectRendering-BKKPO7Uk.cjs';
2
+ export { c as RealtimeVideoEncoderPreference, d as RealtimeVideoFormatInit, e as TrajectoryID, f as TrajectoryPoint } from './TrajectoryEffectRendering-BKKPO7Uk.cjs';
3
3
 
4
4
  /**
5
5
  * 实时媒体使用的 RTC 提供方;一个 Manager 生命周期内保持不变。
@@ -23,10 +23,8 @@ declare enum RtcProvider {
23
23
  * SDK 当前支持的实时生成模型。
24
24
  */
25
25
  declare enum RealtimeModel {
26
- x2_0 = "x2.0",
27
- x2_0_trtc = "x2.0-trtc",
28
- x2_1_preview = "x2.1-preview",
29
- x2_1_preview_1014 = "x2.1-preview-1014"
26
+ x2_1_1_preview_cn = "x2.1.1-preview-cn",
27
+ x2_1_1_preview_us = "x2.1.1-preview-us"
30
28
  }
31
29
  /** 内置模型或服务端新增的模型标识;自定义名称原样传给服务端。 */
32
30
  type RealtimeModelName = RealtimeModel | (string & {});
@@ -51,7 +49,7 @@ declare function defaultFrameRate(_model: RealtimeModelName): number;
51
49
  declare function defaultCameraVideoFormat(model: RealtimeModelName): RealtimeVideoFormat;
52
50
  /**
53
51
  * 查询 SDK 允许配置的 RTC 提供方,第一项为默认值。
54
- * 未知模型默认沿用 x2.1-preview 的 Agora,也允许显式选择其他已接入的 RTC;
52
+ * 未知模型默认沿用 x2.1.1-preview-cn 的 Agora,也允许显式选择其他已接入的 RTC;
55
53
  * 是否被该模型的服务端支持,由服务端决定。
56
54
  */
57
55
  declare function supportedRtcProviders(model: RealtimeModelName): readonly RtcProvider[];
@@ -191,7 +189,7 @@ declare class RealtimeConfiguration {
191
189
  /**
192
190
  * 创建实时业务配置。
193
191
  *
194
- * @param init.model 实时生成业务使用的模型;未知名称原样透传,默认配置同 x2.1-preview。
192
+ * @param init.model 实时生成业务使用的模型;未知名称原样透传,默认配置同 x2.1.1-preview-cn。
195
193
  * @param init.provider RTC 提供方,默认按模型定义选择;必须受模型支持,创建后不可切换。
196
194
  * @param init.isFrameInterpolationEnabled 是否默认开启远端生成画面的插帧,默认 false。
197
195
  */
@@ -292,32 +290,12 @@ declare class RealtimeContext {
292
290
  constructor(init: RealtimeContextInit);
293
291
  }
294
292
 
295
- /**
296
- * 实时生成输入/输出的媒体流。
297
- */
298
- declare class RealtimeMediaStream {
299
- /**
300
- * 流标识与轨道
301
- */
302
- /**
303
- * 媒体流标识。
304
- */
305
- readonly id: string;
306
- /**
307
- * 媒体流包含的视频轨道。
308
- */
309
- readonly videoTrack?: RealtimeVideoTrack;
310
- /**
311
- * 创建实时媒体流。
312
- *
313
- * @param init.id 媒体流标识。
314
- * @param init.videoTrack 媒体流包含的视频轨道。
315
- */
316
- constructor(init: {
317
- id: string;
318
- videoTrack?: RealtimeVideoTrack;
319
- });
320
- }
293
+ /** 可通过生成信令传递的 JSON 数据。 */
294
+ type JsonValue = string | number | boolean | null | JsonValue[] | {
295
+ [key: string]: JsonValue;
296
+ };
297
+ /** 合并到本次 start 或 change_condition 的 params;不缓存,不允许覆盖 SDK 字段。 */
298
+ type RealtimeExtraParams = Record<string, JsonValue>;
321
299
 
322
300
  /**
323
301
  * SDK 向接入方暴露的统一错误码。
@@ -435,6 +413,84 @@ declare class XmaxError extends Error {
435
413
  static from(error: unknown): XmaxError;
436
414
  }
437
415
 
416
+ /**
417
+ * 单次录制的最终事件类型。
418
+ */
419
+ declare enum RealtimeRecordingEventType {
420
+ completed = "completed",
421
+ interrupted = "interrupted",
422
+ failed = "failed"
423
+ }
424
+ /**
425
+ * 已完成文件封装的录制结束原因。
426
+ */
427
+ declare enum RealtimeRecordingFinishReason {
428
+ durationLimit = "durationLimit",
429
+ generationEnded = "generationEnded",
430
+ restarted = "restarted",
431
+ mediaInterrupted = "mediaInterrupted"
432
+ }
433
+ /**
434
+ * 已封装的录制文件;格式由 blob.type 指示,不保证为 MP4。
435
+ */
436
+ interface RealtimeRecordingResult {
437
+ /**
438
+ * 可供保存、上传或预览的完整文件;成功裁去长帧等待时,时长短于实际录制时间。
439
+ */
440
+ readonly blob: Blob;
441
+ /**
442
+ * 录制期间是否接入过未静音的远端音频轨;不表示内容一定有声音。
443
+ */
444
+ readonly hasAudio: boolean;
445
+ /**
446
+ * 录制结束原因。
447
+ */
448
+ readonly reason: RealtimeRecordingFinishReason;
449
+ }
450
+ /**
451
+ * 录制终态;成功封装的提前结束返回 interrupted,无法提供有效文件返回 failed。
452
+ */
453
+ type RealtimeRecordingEvent = {
454
+ type: RealtimeRecordingEventType.completed | RealtimeRecordingEventType.interrupted;
455
+ taskID: string;
456
+ result: RealtimeRecordingResult;
457
+ } | {
458
+ type: RealtimeRecordingEventType.failed;
459
+ taskID: string;
460
+ error: XmaxError;
461
+ };
462
+ /**
463
+ * 每次录制交付一次最终事件,监听器异常不影响实时生成。
464
+ */
465
+ type RealtimeRecordingListener = (event: RealtimeRecordingEvent) => void;
466
+
467
+ /**
468
+ * 实时生成输入/输出的媒体流。
469
+ */
470
+ declare class RealtimeMediaStream {
471
+ /**
472
+ * 流标识与轨道
473
+ */
474
+ /**
475
+ * 媒体流标识。
476
+ */
477
+ readonly id: string;
478
+ /**
479
+ * 媒体流包含的视频轨道。
480
+ */
481
+ readonly videoTrack?: RealtimeVideoTrack;
482
+ /**
483
+ * 创建实时媒体流。
484
+ *
485
+ * @param init.id 媒体流标识。
486
+ * @param init.videoTrack 媒体流包含的视频轨道。
487
+ */
488
+ constructor(init: {
489
+ id: string;
490
+ videoTrack?: RealtimeVideoTrack;
491
+ });
492
+ }
493
+
438
494
  /**
439
495
  * 实时业务连接状态。
440
496
  */
@@ -460,7 +516,12 @@ declare enum RealtimeConnectionState {
460
516
  */
461
517
  connected = "Connected",
462
518
  /**
463
- * 实时连接已建立且生成任务正在运行。
519
+ * 正在启动生成或等待 SDK 视频视图完成首帧及渲染预热。
520
+ * startGeneration 返回远端流后仍可能保持此状态,接入方需挂载视频视图。
521
+ */
522
+ starting = "Starting",
523
+ /**
524
+ * 生成任务正在运行,SDK 视频视图已完成渲染预热并开始展示画面。
464
525
  */
465
526
  generating = "Generating",
466
527
  /**
@@ -559,19 +620,27 @@ interface RealtimeLaunchTiming {
559
620
  */
560
621
  readonly permissionMs?: number;
561
622
  /**
562
- * 开始创建会话到 RTC 进房配置与相机预热等待完成;不含发布本地流。
623
+ * 创建业务会话的耗时。
624
+ */
625
+ readonly sessionMs?: number;
626
+ /**
627
+ * RTC 适配器进房调用的耗时,不含房间消息配置、心跳启动、预热等待和本地流发布。
563
628
  */
564
- readonly connectionMs?: number;
629
+ readonly rtcJoinMs?: number;
565
630
  /**
566
631
  * 发布本地流到 RTC 房间的耗时。
567
632
  */
568
633
  readonly publishMs?: number;
569
634
  /**
570
- * 开始发送生成信令到 SDK 远端视图首次呈现视频帧。
635
+ * 开始发送生成信令到远端视频首帧提交合成器,不包含渲染预热。
571
636
  */
572
637
  readonly firstFrameMs?: number;
573
638
  /**
574
- * 开始打开摄像头到 SDK 远端视图首次呈现视频帧的实际总耗时,并非各项之和。
639
+ * 远端首帧就绪到渲染预热结束的实际等待时间,不含渐入动画。
640
+ */
641
+ readonly renderWarmupMs?: number;
642
+ /**
643
+ * 开始打开摄像头到远端渲染预热结束、开始渐入的实际总耗时,并非各项之和。
575
644
  */
576
645
  readonly totalMs?: number;
577
646
  }
@@ -639,6 +708,10 @@ type RemoteVideoStatisticsListener = (statistics: RemoteVideoStatistics | undefi
639
708
  * 定义 SDK 对接入方提供的实时媒体与生成控制能力。
640
709
  */
641
710
  interface XmaxRealtimeManaging {
711
+ /**
712
+ * 监听录制完成、中断或失败;传入 undefined 清除监听,不停止正在进行的录制。
713
+ */
714
+ setRecordingListener(listener?: RealtimeRecordingListener): void;
642
715
  /**
643
716
  * 实时能力配置。
644
717
  */
@@ -656,7 +729,14 @@ interface XmaxRealtimeManaging {
656
729
  */
657
730
  setFrameInterpolationEnabled(enabled: boolean): Promise<void>;
658
731
  /**
659
- * 手动升/降一档下行输出尺寸,便于调试 change_target_size;仅支持正在生成的 Agora 会话。
732
+ * 手动升/降一档上行配置;仅支持正在生成的 Agora、TRTC 会话。
733
+ * Agora 调整分辨率、帧率和编码码率;TRTC 临时只调整帧率,保留尺寸和码率配置。
734
+ * 保留原始 L1 基准,不改变下行尺寸;自动调档仍保持开启。
735
+ * @param direction 升一档或降一档;到达 L1/L5 边界时不重复应用。
736
+ */
737
+ adjustUplinkQuality(direction: "upgrade" | "downgrade"): Promise<void>;
738
+ /**
739
+ * 手动升/降一档下行输出尺寸,便于调试 change_target_size;仅支持正在生成的 Agora、TRTC 会话。
660
740
  * 仅改变分辨率,成功发送后同步目标档位与插帧尺寸;自动调档仍保持开启。
661
741
  * 到达 L1/L5 边界时不重复发送;发送成功不代表服务端已生效。
662
742
  */
@@ -761,6 +841,18 @@ interface XmaxRealtimeManaging {
761
841
  loop?: boolean;
762
842
  includeAudio?: boolean;
763
843
  }): Promise<RealtimeMediaStream>;
844
+ /**
845
+ * 从本地 File/Blob 创建图片视频流,支持 TRTC、Agora 和 VeRTC。
846
+ * 等比缩放并居中补黑边,持续发送同一静止画面,不上传文件、不采集摄像头或麦克风。
847
+ * 创建后可直接预览,仍需调用 startGeneration 开始生成;disconnect 保留图片源,close 释放全部资源。
848
+ * @param options.file 包含浏览器可解码图片的本地 File 或 Blob;动图仅取解码时的静止快照。
849
+ * @param options.videoFormat 期望的视频规格;尺寸自动匹配最接近宽高比的模型档位,等距时优先横屏。
850
+ * @throws 文件或格式无效、浏览器无法解码、Canvas 采集不可用或已有活动源时抛错。
851
+ */
852
+ createLocalImageStream(options: {
853
+ file: Blob;
854
+ videoFormat: RealtimeVideoFormat;
855
+ }): Promise<RealtimeMediaStream>;
764
856
  /**
765
857
  * 接收用户自行采集或处理的实时视频轨,仅视频,不采集或发送音频。
766
858
  * 不要求绑定 SDK 预览;旋转、裁剪及本地预览由调用方负责,后端 mirror 固定 false。
@@ -780,10 +872,10 @@ interface XmaxRealtimeManaging {
780
872
  * 成功后更新本地轨道的 videoFormat,后续重连继续使用该格式。
781
873
  * 模型生成及远端插帧仍使用创建本地流时的格式;此接口不改变生成尺寸。
782
874
  * 实际发送规格受设备、浏览器和网络影响,应通过统计回调确认。
783
- * Agora 上行自适应以本次成功应用的完整格式作为新的 L1 基准,后续五档按比例调整尺寸和帧率。
875
+ * 上行自适应以本次成功应用的完整格式作为新的 L1 基准;Agora 按档位缩放尺寸和帧率,TRTC 临时仅调帧率。
784
876
  *
785
877
  * @param videoFormat 本次完整的上行尺寸、帧率和编码配置。
786
- * @throws 无本地相机、外部或文件视频流、其他操作进行中、参数无效或 RTC 更新失败时抛错。
878
+ * @throws 无本地相机、外部、图片或文件视频流、其他操作进行中、参数无效或 RTC 更新失败时抛错。
787
879
  */
788
880
  updateUplinkVideoFormat(videoFormat: RealtimeVideoFormat): Promise<void>;
789
881
  /**
@@ -813,7 +905,7 @@ interface XmaxRealtimeManaging {
813
905
  * 启用帧检测时,发布前并行等待相机预热(固定 200ms),避免把黑帧推给 RTC。
814
906
  * 返回的远端媒体流在生成开始后承载远端生成画面。
815
907
  *
816
- * @param localStream 由当前 Manager 创建的摄像头、外部视频轨、本地文件或网络视频源。
908
+ * @param localStream 由当前 Manager 创建的摄像头、外部视频轨、本地图片、本地视频文件或网络视频源。
817
909
  * @returns 远端生成结果占位的媒体流。
818
910
  * @throws 本地流不属于当前 Manager、已有活动连接、会话创建或进房
819
911
  * 发布失败时抛出错误;失败时自动释放连接资源并恢复本地预览。
@@ -831,20 +923,28 @@ interface XmaxRealtimeManaging {
831
923
  /**
832
924
  * 按需建立连接并开始生成。
833
925
  *
834
- * 尚未连接时先建立实时连接;已在生成时仅更新生成条件,不重启生成。
926
+ * 尚未连接时先建立实时连接;已在生成时默认更新条件,restart 为 true 时重新开始生成。
835
927
  * 首次生成必须提供条件上下文,之后缺省时复用最近一次缓存的上下文。
928
+ * 返回后请将远端流挂载到 SDK 视频视图;首帧及渲染预热完成后状态才进入 generating。
836
929
  *
837
930
  * @param options.localStream 由当前 Manager 创建的摄像头、外部视频轨、本地文件或网络视频源。
838
931
  * @param options.context 本次生成使用的条件上下文;缺省时复用缓存。
932
+ * @param options.restart 是否保留 RTC 连接并创建新任务发送 start,默认 false;不预先发送 stop。
839
933
  * @param options.faceRestoration 是否启用原始人脸回贴,默认 false;正在生成时通过 change_condition 更新。
840
- * @returns 承载远端生成画面的媒体流。
934
+ * @param options.extraParams 合并到本次 start 或 change_condition 的 params;不缓存,自动恢复时不携带,不允许覆盖 SDK 字段。
935
+ * @param options.record 是否录制远端原始音视频约 20 秒,默认 false;仅 start 有效,条件更新时忽略,重启录制暂不支持。
936
+ * @returns 可挂载的远端媒体流,不等待渲染预热;展示就绪以 generating 状态为准。
937
+ * @throws extraParams 包含非 JSON 数据、循环引用或 SDK 保留字段时,在连接或更新前抛出 invalidConfiguration。
841
938
  * @throws 本地流不属于当前 Manager、缺少可用的条件上下文、信令发送
842
939
  * 或生成确认失败时抛出错误;失败时自动停止生成任务并释放连接资源。
843
940
  */
844
941
  startGeneration(options: {
845
942
  localStream: RealtimeMediaStream;
846
943
  context?: RealtimeContext;
944
+ restart?: boolean;
847
945
  faceRestoration?: boolean;
946
+ extraParams?: RealtimeExtraParams;
947
+ record?: boolean;
848
948
  }): Promise<RealtimeMediaStream>;
849
949
  }
850
950
 
@@ -1204,7 +1304,7 @@ declare class XmaxClient {
1204
1304
  /**
1205
1305
  * 创建媒体处理与能力查询 Service。
1206
1306
  *
1207
- * @param model 媒体输入规则使用的模型,默认为 `x2.0-trtc`。
1307
+ * @param model 媒体输入规则使用的模型,默认为 `x2.1.1-preview-cn`。
1208
1308
  */
1209
1309
  createMediaService(model?: RealtimeModelName): MediaServicing;
1210
1310
  /**
@@ -1241,7 +1341,7 @@ declare class MediaService implements MediaServicing {
1241
1341
  /**
1242
1342
  * 创建媒体服务。
1243
1343
  *
1244
- * @param model 媒体输入规则使用的模型,默认为 `x2.0-trtc`。
1344
+ * @param model 媒体输入规则使用的模型,默认为 `x2.1.1-preview-cn`。
1245
1345
  */
1246
1346
  constructor(model?: RealtimeModelName);
1247
1347
  /**
@@ -1486,6 +1586,7 @@ interface RemoteFrameInterpolationOptions {
1486
1586
  *
1487
1587
  * 通过 `attach(to:)` 挂载到任意容器元素;设置 `track` 后自动渲染。
1488
1588
  * 轨道注册了渲染绑定时走绑定管线,否则按 `mediaStreamTrack` 直接渲染。
1589
+ * SDK 远端轨道在首帧后预热 1000 ms,再用 300 ms 渐入;本地预览不延迟。
1489
1590
  */
1490
1591
  declare class XmaxVideoView {
1491
1592
  /**
@@ -1529,10 +1630,20 @@ declare class XmaxVideoView {
1529
1630
  * 呈现统计组件
1530
1631
  */
1531
1632
  private readonly statisticsController;
1633
+ /**
1634
+ * 远端画面预热与渐入组件
1635
+ */
1636
+ private readonly warmupController;
1532
1637
  /**
1533
1638
  * DOM 挂载状态
1534
1639
  */
1535
1640
  private detached;
1641
+ /**
1642
+ * 轨迹交互配置与懒加载视图
1643
+ */
1644
+ private interactionEnabled;
1645
+ private customTrajectoryRenderer?;
1646
+ private trajectoryOverlay?;
1536
1647
  /**
1537
1648
  * 创建单轨视频视图。
1538
1649
  *
@@ -1540,7 +1651,24 @@ declare class XmaxVideoView {
1540
1651
  */
1541
1652
  constructor(options?: {
1542
1653
  videoContentMode?: VideoContentMode;
1654
+ isInteractionEnabled?: boolean;
1543
1655
  });
1656
+ /**
1657
+ * 是否允许远端轨迹交互;本地轨道没有交互绑定,不受此开关影响。
1658
+ */
1659
+ get isInteractionEnabled(): boolean;
1660
+ /**
1661
+ * 关闭时立即取消当前手势,不影响视频播放。
1662
+ */
1663
+ set isInteractionEnabled(enabled: boolean);
1664
+ /**
1665
+ * 自定义轨迹视觉效果;undefined 表示使用 SDK 默认效果。
1666
+ */
1667
+ get trajectoryRenderer(): TrajectoryEffectRendering | undefined;
1668
+ /**
1669
+ * 替换效果前释放旧动画,采样及网络发送仍由 SDK 管理。
1670
+ */
1671
+ set trajectoryRenderer(renderer: TrajectoryEffectRendering | undefined);
1544
1672
  /**
1545
1673
  * 当前显示的视频轨道;切换时自动解绑旧轨道。
1546
1674
  */
@@ -1589,6 +1717,10 @@ declare class XmaxVideoView {
1589
1717
  * 直接设置渲染用的媒体流(绑定管线和直接渲染共用)。 @internal
1590
1718
  */
1591
1719
  setMediaStream(stream: MediaStream | null): void;
1720
+ /**
1721
+ * 新生成任务重新等待首帧和预热,不替换正在播放的媒体流。 @internal
1722
+ */
1723
+ prepareForGeneration(): void;
1592
1724
  /**
1593
1725
  * 由远端绑定注入配置;本地预览不走此管线。 @internal
1594
1726
  */
@@ -1617,6 +1749,10 @@ declare class XmaxVideoView {
1617
1749
  * 换流、解绑或卸载时取消观察,防止迟到的首帧归入下一条流。
1618
1750
  */
1619
1751
  private cancelFrameDisplayNotification;
1752
+ /**
1753
+ * 仅远端渲染绑定启用预热,本地预览和普通媒体直接显示。
1754
+ */
1755
+ private prepareRenderWarmup;
1620
1756
  /**
1621
1757
  * 应用显示模式与镜像样式。
1622
1758
  */
@@ -1625,12 +1761,20 @@ declare class XmaxVideoView {
1625
1761
  * 视图未卸载时启动呈现统计,采样及媒体就绪检查由统计组件负责。
1626
1762
  */
1627
1763
  private startRenderStatistics;
1764
+ /**
1765
+ * 仅为具备交互能力的轨道创建覆盖层,普通视频和本地预览不分配 Canvas。
1766
+ */
1767
+ private attachTrajectory;
1768
+ /**
1769
+ * 换轨或卸载时移除全部交互资源;再次挂载时重新建立绑定。
1770
+ */
1771
+ private disposeTrajectory;
1628
1772
  }
1629
1773
 
1630
1774
  /**
1631
1775
  * 在本地预览和远端生成画面之间自动切换的视频容器(框架无关)。
1632
1776
  *
1633
- * 设置远端轨道后,容器等待首帧实际提交显示再渐入远端画面;
1777
+ * 设置 SDK 远端轨道后,等待首帧及渲染预热结束再渐入远端画面;
1634
1778
  * 远端轨道置空时立即恢复本地预览。
1635
1779
  */
1636
1780
  declare class XmaxRealtimeVideoView {
@@ -1663,18 +1807,35 @@ declare class XmaxRealtimeVideoView {
1663
1807
  localTrack?: RealtimeVideoTrack;
1664
1808
  remoteTrack?: RealtimeVideoTrack;
1665
1809
  videoContentMode?: VideoContentMode;
1810
+ isInteractionEnabled?: boolean;
1666
1811
  });
1667
1812
  /**
1668
1813
  * 当前显示的本地视频轨道。
1669
1814
  */
1670
1815
  get localTrack(): RealtimeVideoTrack | undefined;
1816
+ /**
1817
+ * 只控制远端视图的轨迹交互,本地预览始终不接管手势。
1818
+ */
1819
+ get isInteractionEnabled(): boolean;
1820
+ /**
1821
+ * 转交远端交互开关。
1822
+ */
1823
+ set isInteractionEnabled(enabled: boolean);
1824
+ /**
1825
+ * 远端视图的自定义轨迹效果。
1826
+ */
1827
+ get trajectoryRenderer(): TrajectoryEffectRendering | undefined;
1828
+ /**
1829
+ * undefined 恢复默认效果,不改变轨迹发送逻辑。
1830
+ */
1831
+ set trajectoryRenderer(renderer: TrajectoryEffectRendering | undefined);
1671
1832
  /**
1672
1833
  * 替换本地预览轨道;轨道未变化时保留当前绑定。
1673
1834
  */
1674
1835
  set localTrack(track: RealtimeVideoTrack | undefined);
1675
1836
  /**
1676
1837
  * 当前显示的远端生成视频轨道。
1677
- * 设置新轨道后等待首帧提交显示再渐入;置空时立即恢复本地预览。
1838
+ * SDK 远端轨道等待首帧及预热后渐入;置空时立即恢复本地预览。
1678
1839
  */
1679
1840
  get remoteTrack(): RealtimeVideoTrack | undefined;
1680
1841
  /**
@@ -1706,7 +1867,7 @@ declare class XmaxRealtimeVideoView {
1706
1867
  */
1707
1868
  detach(): void;
1708
1869
  /**
1709
- * 更新远端轨道绑定:重置渐入状态,等待首帧提交后再显示远端画面。
1870
+ * 更新远端轨道绑定;SDK 轨道共用单轨视图的预热,普通轨道等待首帧后渐入。
1710
1871
  */
1711
1872
  private updateRemoteTrack;
1712
1873
  /**
@@ -1715,4 +1876,4 @@ declare class XmaxRealtimeVideoView {
1715
1876
  private showRemoteVideo;
1716
1877
  }
1717
1878
 
1718
- export { CameraPosition, type CameraRotation, MediaService, type MediaServicing, type NetworkQualityLevel, type NetworkStatistics, type NetworkStatisticsListener, NonRealtimeQuality, type NonRealtimeResult, type NonRealtimeTask, NonRealtimeTaskError, type NonRealtimeTaskListOptions, type NonRealtimeTaskOptions, type NonRealtimeTaskPage, NonRealtimeTaskStatus, type NonRealtimeWaitOptions, RealtimeConfiguration, RealtimeConnectionState, RealtimeContext, type RealtimeContextInit, type RealtimeLaunchTiming, type RealtimeLaunchTimingListener, RealtimeMediaStream, RealtimeModel, type RealtimeModelName, RealtimeReason, type RealtimeReferenceVideo, RealtimeState, type RealtimeStateListener, RealtimeVideoFormat, RealtimeVideoSampleMethod, RealtimeVideoTrack, type RemoteVideoStatistics, type RemoteVideoStatisticsListener, RtcProvider, StorageService, type StorageServicing, type StorageUploadOptions, StoredFile, VideoContentMode, VideoRenderStatistics, type VideoStatistics, type VideoStatisticsListener, XmaxClient, XmaxConfiguration, type XmaxConfigurationInit, XmaxEnvironment, XmaxError, XmaxErrorCode, type XmaxErrorListener, XmaxLogger, XmaxLoggerOption, type XmaxNonRealtimeManaging, type XmaxRealtimeManaging, XmaxRealtimeVideoView, XmaxVideoView, apiBaseURL, defaultCameraVideoFormat, defaultFrameRate, modelDisplayName, supportedRtcProviders };
1879
+ export { CameraPosition, type CameraRotation, type JsonValue, MediaService, type MediaServicing, type NetworkQualityLevel, type NetworkStatistics, type NetworkStatisticsListener, NonRealtimeQuality, type NonRealtimeResult, type NonRealtimeTask, NonRealtimeTaskError, type NonRealtimeTaskListOptions, type NonRealtimeTaskOptions, type NonRealtimeTaskPage, NonRealtimeTaskStatus, type NonRealtimeWaitOptions, RealtimeConfiguration, RealtimeConnectionState, RealtimeContext, type RealtimeContextInit, type RealtimeExtraParams, type RealtimeLaunchTiming, type RealtimeLaunchTimingListener, RealtimeMediaStream, RealtimeModel, type RealtimeModelName, RealtimeReason, type RealtimeRecordingEvent, RealtimeRecordingEventType, RealtimeRecordingFinishReason, type RealtimeRecordingListener, type RealtimeRecordingResult, type RealtimeReferenceVideo, RealtimeState, type RealtimeStateListener, RealtimeVideoFormat, RealtimeVideoSampleMethod, RealtimeVideoTrack, type RemoteVideoStatistics, type RemoteVideoStatisticsListener, RtcProvider, StorageService, type StorageServicing, type StorageUploadOptions, StoredFile, TrajectoryEffectRendering, VideoContentMode, VideoRenderStatistics, type VideoStatistics, type VideoStatisticsListener, XmaxClient, XmaxConfiguration, type XmaxConfigurationInit, XmaxEnvironment, XmaxError, XmaxErrorCode, type XmaxErrorListener, XmaxLogger, XmaxLoggerOption, type XmaxNonRealtimeManaging, type XmaxRealtimeManaging, XmaxRealtimeVideoView, XmaxVideoView, apiBaseURL, defaultCameraVideoFormat, defaultFrameRate, modelDisplayName, supportedRtcProviders };