@xmaxai/web-sdk 1.0.8 → 1.0.9

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 _chunkKROY2O4Acjs = require('./chunk-KROY2O4A.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 = _chunkKROY2O4Acjs.CameraPosition; exports.MediaService = _chunkKROY2O4Acjs.MediaService; exports.NonRealtimeQuality = _chunkKROY2O4Acjs.NonRealtimeQuality; exports.NonRealtimeTaskError = _chunkKROY2O4Acjs.NonRealtimeTaskError; exports.NonRealtimeTaskStatus = _chunkKROY2O4Acjs.NonRealtimeTaskStatus; exports.RealtimeConfiguration = _chunkKROY2O4Acjs.RealtimeConfiguration; exports.RealtimeConnectionState = _chunkKROY2O4Acjs.RealtimeConnectionState; exports.RealtimeContext = _chunkKROY2O4Acjs.RealtimeContext; exports.RealtimeMediaStream = _chunkKROY2O4Acjs.RealtimeMediaStream; exports.RealtimeModel = _chunkKROY2O4Acjs.RealtimeModel; exports.RealtimeReason = _chunkKROY2O4Acjs.RealtimeReason; exports.RealtimeRecordingEventType = _chunkKROY2O4Acjs.RealtimeRecordingEventType; exports.RealtimeRecordingFinishReason = _chunkKROY2O4Acjs.RealtimeRecordingFinishReason; exports.RealtimeState = _chunkKROY2O4Acjs.RealtimeState; exports.RealtimeVideoEncoderPreference = _chunkKROY2O4Acjs.RealtimeVideoEncoderPreference; exports.RealtimeVideoFormat = _chunkKROY2O4Acjs.RealtimeVideoFormat; exports.RealtimeVideoSampleMethod = _chunkKROY2O4Acjs.RealtimeVideoSampleMethod; exports.RealtimeVideoTrack = _chunkKROY2O4Acjs.RealtimeVideoTrack; exports.RtcProvider = _chunkKROY2O4Acjs.RtcProvider; exports.StorageService = _chunkKROY2O4Acjs.StorageService; exports.StoredFile = _chunkKROY2O4Acjs.StoredFile; exports.VideoContentMode = _chunkKROY2O4Acjs.VideoContentMode; exports.XmaxClient = _chunkKROY2O4Acjs.XmaxClient; exports.XmaxConfiguration = _chunkKROY2O4Acjs.XmaxConfiguration; exports.XmaxEnvironment = _chunkKROY2O4Acjs.XmaxEnvironment; exports.XmaxError = _chunkKROY2O4Acjs.XmaxError; exports.XmaxErrorCode = _chunkKROY2O4Acjs.XmaxErrorCode; exports.XmaxLogger = _chunkKROY2O4Acjs.XmaxLogger; exports.XmaxLoggerOption = _chunkKROY2O4Acjs.XmaxLoggerOption; exports.XmaxRealtimeVideoView = _chunkKROY2O4Acjs.XmaxRealtimeVideoView; exports.XmaxVideoView = _chunkKROY2O4Acjs.XmaxVideoView; exports.apiBaseURL = _chunkKROY2O4Acjs.apiBaseURL; exports.defaultCameraVideoFormat = _chunkKROY2O4Acjs.defaultCameraVideoFormat; exports.defaultFrameRate = _chunkKROY2O4Acjs.defaultFrameRate; exports.modelDisplayName = _chunkKROY2O4Acjs.modelDisplayName; exports.supportedRtcProviders = _chunkKROY2O4Acjs.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-Zggzaq/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-Zggzaq/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-C7E2KJbV.cjs';
2
+ export { c as RealtimeVideoEncoderPreference, d as RealtimeVideoFormatInit, e as TrajectoryID, f as TrajectoryPoint } from './TrajectoryEffectRendering-C7E2KJbV.cjs';
3
3
 
4
4
  /**
5
5
  * 实时媒体使用的 RTC 提供方;一个 Manager 生命周期内保持不变。
@@ -26,7 +26,9 @@ declare enum RealtimeModel {
26
26
  x2_0 = "x2.0",
27
27
  x2_0_trtc = "x2.0-trtc",
28
28
  x2_1_preview = "x2.1-preview",
29
- x2_1_preview_1014 = "x2.1-preview-1014"
29
+ x2_1_preview_1014 = "x2.1-preview-1014",
30
+ x2_1_1_preview_cn = "x2.1.1-preview-cn",
31
+ x2_1_1_preview_us = "x2.1.1-preview-us"
30
32
  }
31
33
  /** 内置模型或服务端新增的模型标识;自定义名称原样传给服务端。 */
32
34
  type RealtimeModelName = RealtimeModel | (string & {});
@@ -292,32 +294,12 @@ declare class RealtimeContext {
292
294
  constructor(init: RealtimeContextInit);
293
295
  }
294
296
 
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
- }
297
+ /** 可通过生成信令传递的 JSON 数据。 */
298
+ type JsonValue = string | number | boolean | null | JsonValue[] | {
299
+ [key: string]: JsonValue;
300
+ };
301
+ /** 合并到本次 start 或 change_condition 的 params;不缓存,不允许覆盖 SDK 字段。 */
302
+ type RealtimeExtraParams = Record<string, JsonValue>;
321
303
 
322
304
  /**
323
305
  * SDK 向接入方暴露的统一错误码。
@@ -435,6 +417,84 @@ declare class XmaxError extends Error {
435
417
  static from(error: unknown): XmaxError;
436
418
  }
437
419
 
420
+ /**
421
+ * 单次录制的最终事件类型。
422
+ */
423
+ declare enum RealtimeRecordingEventType {
424
+ completed = "completed",
425
+ interrupted = "interrupted",
426
+ failed = "failed"
427
+ }
428
+ /**
429
+ * 已完成文件封装的录制结束原因。
430
+ */
431
+ declare enum RealtimeRecordingFinishReason {
432
+ durationLimit = "durationLimit",
433
+ generationEnded = "generationEnded",
434
+ restarted = "restarted",
435
+ mediaInterrupted = "mediaInterrupted"
436
+ }
437
+ /**
438
+ * 已封装的录制文件;格式由 blob.type 指示,不保证为 MP4。
439
+ */
440
+ interface RealtimeRecordingResult {
441
+ /**
442
+ * 可供保存、上传或预览的完整文件;成功裁去长帧等待时,时长短于实际录制时间。
443
+ */
444
+ readonly blob: Blob;
445
+ /**
446
+ * 录制期间是否接入过未静音的远端音频轨;不表示内容一定有声音。
447
+ */
448
+ readonly hasAudio: boolean;
449
+ /**
450
+ * 录制结束原因。
451
+ */
452
+ readonly reason: RealtimeRecordingFinishReason;
453
+ }
454
+ /**
455
+ * 录制终态;成功封装的提前结束返回 interrupted,无法提供有效文件返回 failed。
456
+ */
457
+ type RealtimeRecordingEvent = {
458
+ type: RealtimeRecordingEventType.completed | RealtimeRecordingEventType.interrupted;
459
+ taskID: string;
460
+ result: RealtimeRecordingResult;
461
+ } | {
462
+ type: RealtimeRecordingEventType.failed;
463
+ taskID: string;
464
+ error: XmaxError;
465
+ };
466
+ /**
467
+ * 每次录制交付一次最终事件,监听器异常不影响实时生成。
468
+ */
469
+ type RealtimeRecordingListener = (event: RealtimeRecordingEvent) => void;
470
+
471
+ /**
472
+ * 实时生成输入/输出的媒体流。
473
+ */
474
+ declare class RealtimeMediaStream {
475
+ /**
476
+ * 流标识与轨道
477
+ */
478
+ /**
479
+ * 媒体流标识。
480
+ */
481
+ readonly id: string;
482
+ /**
483
+ * 媒体流包含的视频轨道。
484
+ */
485
+ readonly videoTrack?: RealtimeVideoTrack;
486
+ /**
487
+ * 创建实时媒体流。
488
+ *
489
+ * @param init.id 媒体流标识。
490
+ * @param init.videoTrack 媒体流包含的视频轨道。
491
+ */
492
+ constructor(init: {
493
+ id: string;
494
+ videoTrack?: RealtimeVideoTrack;
495
+ });
496
+ }
497
+
438
498
  /**
439
499
  * 实时业务连接状态。
440
500
  */
@@ -639,6 +699,10 @@ type RemoteVideoStatisticsListener = (statistics: RemoteVideoStatistics | undefi
639
699
  * 定义 SDK 对接入方提供的实时媒体与生成控制能力。
640
700
  */
641
701
  interface XmaxRealtimeManaging {
702
+ /**
703
+ * 监听录制完成、中断或失败;传入 undefined 清除监听,不停止正在进行的录制。
704
+ */
705
+ setRecordingListener(listener?: RealtimeRecordingListener): void;
642
706
  /**
643
707
  * 实时能力配置。
644
708
  */
@@ -656,7 +720,14 @@ interface XmaxRealtimeManaging {
656
720
  */
657
721
  setFrameInterpolationEnabled(enabled: boolean): Promise<void>;
658
722
  /**
659
- * 手动升/降一档下行输出尺寸,便于调试 change_target_size;仅支持正在生成的 Agora 会话。
723
+ * 手动升/降一档上行配置;仅支持正在生成的 Agora、TRTC 会话。
724
+ * Agora 调整分辨率、帧率和编码码率;TRTC 临时只调整帧率,保留尺寸和码率配置。
725
+ * 保留原始 L1 基准,不改变下行尺寸;自动调档仍保持开启。
726
+ * @param direction 升一档或降一档;到达 L1/L5 边界时不重复应用。
727
+ */
728
+ adjustUplinkQuality(direction: "upgrade" | "downgrade"): Promise<void>;
729
+ /**
730
+ * 手动升/降一档下行输出尺寸,便于调试 change_target_size;仅支持正在生成的 Agora、TRTC 会话。
660
731
  * 仅改变分辨率,成功发送后同步目标档位与插帧尺寸;自动调档仍保持开启。
661
732
  * 到达 L1/L5 边界时不重复发送;发送成功不代表服务端已生效。
662
733
  */
@@ -761,6 +832,18 @@ interface XmaxRealtimeManaging {
761
832
  loop?: boolean;
762
833
  includeAudio?: boolean;
763
834
  }): Promise<RealtimeMediaStream>;
835
+ /**
836
+ * 从本地 File/Blob 创建图片视频流,支持 TRTC、Agora 和 VeRTC。
837
+ * 等比缩放并居中补黑边,持续发送同一静止画面,不上传文件、不采集摄像头或麦克风。
838
+ * 创建后可直接预览,仍需调用 startGeneration 开始生成;disconnect 保留图片源,close 释放全部资源。
839
+ * @param options.file 包含浏览器可解码图片的本地 File 或 Blob;动图仅取解码时的静止快照。
840
+ * @param options.videoFormat 期望的视频规格;尺寸自动匹配最接近宽高比的模型档位,等距时优先横屏。
841
+ * @throws 文件或格式无效、浏览器无法解码、Canvas 采集不可用或已有活动源时抛错。
842
+ */
843
+ createLocalImageStream(options: {
844
+ file: Blob;
845
+ videoFormat: RealtimeVideoFormat;
846
+ }): Promise<RealtimeMediaStream>;
764
847
  /**
765
848
  * 接收用户自行采集或处理的实时视频轨,仅视频,不采集或发送音频。
766
849
  * 不要求绑定 SDK 预览;旋转、裁剪及本地预览由调用方负责,后端 mirror 固定 false。
@@ -780,10 +863,10 @@ interface XmaxRealtimeManaging {
780
863
  * 成功后更新本地轨道的 videoFormat,后续重连继续使用该格式。
781
864
  * 模型生成及远端插帧仍使用创建本地流时的格式;此接口不改变生成尺寸。
782
865
  * 实际发送规格受设备、浏览器和网络影响,应通过统计回调确认。
783
- * Agora 上行自适应以本次成功应用的完整格式作为新的 L1 基准,后续五档按比例调整尺寸和帧率。
866
+ * 上行自适应以本次成功应用的完整格式作为新的 L1 基准;Agora 按档位缩放尺寸和帧率,TRTC 临时仅调帧率。
784
867
  *
785
868
  * @param videoFormat 本次完整的上行尺寸、帧率和编码配置。
786
- * @throws 无本地相机、外部或文件视频流、其他操作进行中、参数无效或 RTC 更新失败时抛错。
869
+ * @throws 无本地相机、外部、图片或文件视频流、其他操作进行中、参数无效或 RTC 更新失败时抛错。
787
870
  */
788
871
  updateUplinkVideoFormat(videoFormat: RealtimeVideoFormat): Promise<void>;
789
872
  /**
@@ -813,7 +896,7 @@ interface XmaxRealtimeManaging {
813
896
  * 启用帧检测时,发布前并行等待相机预热(固定 200ms),避免把黑帧推给 RTC。
814
897
  * 返回的远端媒体流在生成开始后承载远端生成画面。
815
898
  *
816
- * @param localStream 由当前 Manager 创建的摄像头、外部视频轨、本地文件或网络视频源。
899
+ * @param localStream 由当前 Manager 创建的摄像头、外部视频轨、本地图片、本地视频文件或网络视频源。
817
900
  * @returns 远端生成结果占位的媒体流。
818
901
  * @throws 本地流不属于当前 Manager、已有活动连接、会话创建或进房
819
902
  * 发布失败时抛出错误;失败时自动释放连接资源并恢复本地预览。
@@ -831,20 +914,27 @@ interface XmaxRealtimeManaging {
831
914
  /**
832
915
  * 按需建立连接并开始生成。
833
916
  *
834
- * 尚未连接时先建立实时连接;已在生成时仅更新生成条件,不重启生成。
917
+ * 尚未连接时先建立实时连接;已在生成时默认更新条件,restart 为 true 时重新开始生成。
835
918
  * 首次生成必须提供条件上下文,之后缺省时复用最近一次缓存的上下文。
836
919
  *
837
920
  * @param options.localStream 由当前 Manager 创建的摄像头、外部视频轨、本地文件或网络视频源。
838
921
  * @param options.context 本次生成使用的条件上下文;缺省时复用缓存。
922
+ * @param options.restart 是否保留 RTC 连接并创建新任务发送 start,默认 false;不预先发送 stop。
839
923
  * @param options.faceRestoration 是否启用原始人脸回贴,默认 false;正在生成时通过 change_condition 更新。
924
+ * @param options.extraParams 合并到本次 start 或 change_condition 的 params;不缓存,自动恢复时不携带,不允许覆盖 SDK 字段。
925
+ * @param options.record 是否录制远端原始音视频约 20 秒,默认 false;仅 start 有效,条件更新时忽略,重启录制暂不支持。
840
926
  * @returns 承载远端生成画面的媒体流。
927
+ * @throws extraParams 包含非 JSON 数据、循环引用或 SDK 保留字段时,在连接或更新前抛出 invalidConfiguration。
841
928
  * @throws 本地流不属于当前 Manager、缺少可用的条件上下文、信令发送
842
929
  * 或生成确认失败时抛出错误;失败时自动停止生成任务并释放连接资源。
843
930
  */
844
931
  startGeneration(options: {
845
932
  localStream: RealtimeMediaStream;
846
933
  context?: RealtimeContext;
934
+ restart?: boolean;
847
935
  faceRestoration?: boolean;
936
+ extraParams?: RealtimeExtraParams;
937
+ record?: boolean;
848
938
  }): Promise<RealtimeMediaStream>;
849
939
  }
850
940
 
@@ -1533,6 +1623,12 @@ declare class XmaxVideoView {
1533
1623
  * DOM 挂载状态
1534
1624
  */
1535
1625
  private detached;
1626
+ /**
1627
+ * 轨迹交互配置与懒加载视图
1628
+ */
1629
+ private interactionEnabled;
1630
+ private customTrajectoryRenderer?;
1631
+ private trajectoryOverlay?;
1536
1632
  /**
1537
1633
  * 创建单轨视频视图。
1538
1634
  *
@@ -1540,7 +1636,24 @@ declare class XmaxVideoView {
1540
1636
  */
1541
1637
  constructor(options?: {
1542
1638
  videoContentMode?: VideoContentMode;
1639
+ isInteractionEnabled?: boolean;
1543
1640
  });
1641
+ /**
1642
+ * 是否允许远端轨迹交互;本地轨道没有交互绑定,不受此开关影响。
1643
+ */
1644
+ get isInteractionEnabled(): boolean;
1645
+ /**
1646
+ * 关闭时立即取消当前手势,不影响视频播放。
1647
+ */
1648
+ set isInteractionEnabled(enabled: boolean);
1649
+ /**
1650
+ * 自定义轨迹视觉效果;undefined 表示使用 SDK 默认效果。
1651
+ */
1652
+ get trajectoryRenderer(): TrajectoryEffectRendering | undefined;
1653
+ /**
1654
+ * 替换效果前释放旧动画,采样及网络发送仍由 SDK 管理。
1655
+ */
1656
+ set trajectoryRenderer(renderer: TrajectoryEffectRendering | undefined);
1544
1657
  /**
1545
1658
  * 当前显示的视频轨道;切换时自动解绑旧轨道。
1546
1659
  */
@@ -1625,6 +1738,14 @@ declare class XmaxVideoView {
1625
1738
  * 视图未卸载时启动呈现统计,采样及媒体就绪检查由统计组件负责。
1626
1739
  */
1627
1740
  private startRenderStatistics;
1741
+ /**
1742
+ * 仅为具备交互能力的轨道创建覆盖层,普通视频和本地预览不分配 Canvas。
1743
+ */
1744
+ private attachTrajectory;
1745
+ /**
1746
+ * 换轨或卸载时移除全部交互资源;再次挂载时重新建立绑定。
1747
+ */
1748
+ private disposeTrajectory;
1628
1749
  }
1629
1750
 
1630
1751
  /**
@@ -1663,11 +1784,28 @@ declare class XmaxRealtimeVideoView {
1663
1784
  localTrack?: RealtimeVideoTrack;
1664
1785
  remoteTrack?: RealtimeVideoTrack;
1665
1786
  videoContentMode?: VideoContentMode;
1787
+ isInteractionEnabled?: boolean;
1666
1788
  });
1667
1789
  /**
1668
1790
  * 当前显示的本地视频轨道。
1669
1791
  */
1670
1792
  get localTrack(): RealtimeVideoTrack | undefined;
1793
+ /**
1794
+ * 只控制远端视图的轨迹交互,本地预览始终不接管手势。
1795
+ */
1796
+ get isInteractionEnabled(): boolean;
1797
+ /**
1798
+ * 转交远端交互开关。
1799
+ */
1800
+ set isInteractionEnabled(enabled: boolean);
1801
+ /**
1802
+ * 远端视图的自定义轨迹效果。
1803
+ */
1804
+ get trajectoryRenderer(): TrajectoryEffectRendering | undefined;
1805
+ /**
1806
+ * undefined 恢复默认效果,不改变轨迹发送逻辑。
1807
+ */
1808
+ set trajectoryRenderer(renderer: TrajectoryEffectRendering | undefined);
1671
1809
  /**
1672
1810
  * 替换本地预览轨道;轨道未变化时保留当前绑定。
1673
1811
  */
@@ -1715,4 +1853,4 @@ declare class XmaxRealtimeVideoView {
1715
1853
  private showRemoteVideo;
1716
1854
  }
1717
1855
 
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 };
1856
+ 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 };