@spatialwalk/avatarkit 1.0.0-beta.7 → 1.0.0-beta.70

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 (101) hide show
  1. package/CHANGELOG.md +595 -10
  2. package/README.md +475 -312
  3. package/dist/StreamingAudioPlayer-Bi2685bX.js +633 -0
  4. package/dist/animation/AnimationWebSocketClient.d.ts +18 -7
  5. package/dist/animation/utils/eventEmitter.d.ts +0 -1
  6. package/dist/animation/utils/flameConverter.d.ts +0 -1
  7. package/dist/audio/AnimationPlayer.d.ts +19 -1
  8. package/dist/audio/StreamingAudioPlayer.d.ts +41 -9
  9. package/dist/avatar_core_wasm-Dv943JJl.js +2696 -0
  10. package/dist/{avatar_core_wasm.wasm → avatar_core_wasm-e68766db.wasm} +0 -0
  11. package/dist/config/app-config.d.ts +3 -4
  12. package/dist/config/constants.d.ts +10 -18
  13. package/dist/config/sdk-config-loader.d.ts +4 -10
  14. package/dist/core/Avatar.d.ts +2 -14
  15. package/dist/core/AvatarController.d.ts +95 -85
  16. package/dist/core/AvatarDownloader.d.ts +7 -92
  17. package/dist/core/AvatarManager.d.ts +22 -12
  18. package/dist/core/AvatarSDK.d.ts +35 -0
  19. package/dist/core/AvatarView.d.ts +55 -140
  20. package/dist/core/NetworkLayer.d.ts +7 -59
  21. package/dist/generated/common/v1/models.d.ts +36 -0
  22. package/dist/generated/driveningress/v1/driveningress.d.ts +0 -1
  23. package/dist/generated/driveningress/v2/driveningress.d.ts +82 -1
  24. package/dist/generated/google/protobuf/struct.d.ts +0 -1
  25. package/dist/generated/google/protobuf/timestamp.d.ts +0 -1
  26. package/dist/index-CvW_c7G-.js +16434 -0
  27. package/dist/index.d.ts +2 -4
  28. package/dist/index.js +17 -18
  29. package/dist/renderer/RenderSystem.d.ts +9 -79
  30. package/dist/renderer/covariance.d.ts +3 -11
  31. package/dist/renderer/renderer.d.ts +6 -2
  32. package/dist/renderer/sortSplats.d.ts +3 -10
  33. package/dist/renderer/webgl/reorderData.d.ts +4 -11
  34. package/dist/renderer/webgl/webglRenderer.d.ts +34 -4
  35. package/dist/renderer/webgpu/webgpuRenderer.d.ts +30 -5
  36. package/dist/types/character-settings.d.ts +1 -1
  37. package/dist/types/character.d.ts +3 -15
  38. package/dist/types/index.d.ts +123 -43
  39. package/dist/utils/animation-interpolation.d.ts +4 -15
  40. package/dist/utils/client-id.d.ts +6 -0
  41. package/dist/utils/conversationId.d.ts +10 -0
  42. package/dist/utils/error-utils.d.ts +0 -1
  43. package/dist/utils/id-manager.d.ts +34 -0
  44. package/dist/utils/logger.d.ts +2 -11
  45. package/dist/utils/posthog-tracker.d.ts +8 -0
  46. package/dist/utils/pwa-cache-manager.d.ts +17 -0
  47. package/dist/utils/usage-tracker.d.ts +6 -0
  48. package/dist/vanilla/vite.config.d.ts +2 -0
  49. package/dist/vite.d.ts +19 -0
  50. package/dist/wasm/avatarCoreAdapter.d.ts +15 -126
  51. package/dist/wasm/avatarCoreMemory.d.ts +5 -2
  52. package/package.json +19 -8
  53. package/vite.d.ts +20 -0
  54. package/vite.js +126 -0
  55. package/dist/StreamingAudioPlayer-D7s8q5h0.js +0 -319
  56. package/dist/StreamingAudioPlayer-D7s8q5h0.js.map +0 -1
  57. package/dist/animation/AnimationWebSocketClient.d.ts.map +0 -1
  58. package/dist/animation/utils/eventEmitter.d.ts.map +0 -1
  59. package/dist/animation/utils/flameConverter.d.ts.map +0 -1
  60. package/dist/audio/AnimationPlayer.d.ts.map +0 -1
  61. package/dist/audio/StreamingAudioPlayer.d.ts.map +0 -1
  62. package/dist/avatar_core_wasm-D4eEi7Eh.js +0 -1666
  63. package/dist/avatar_core_wasm-D4eEi7Eh.js.map +0 -1
  64. package/dist/config/app-config.d.ts.map +0 -1
  65. package/dist/config/constants.d.ts.map +0 -1
  66. package/dist/config/sdk-config-loader.d.ts.map +0 -1
  67. package/dist/core/Avatar.d.ts.map +0 -1
  68. package/dist/core/AvatarController.d.ts.map +0 -1
  69. package/dist/core/AvatarDownloader.d.ts.map +0 -1
  70. package/dist/core/AvatarKit.d.ts +0 -66
  71. package/dist/core/AvatarKit.d.ts.map +0 -1
  72. package/dist/core/AvatarManager.d.ts.map +0 -1
  73. package/dist/core/AvatarView.d.ts.map +0 -1
  74. package/dist/core/NetworkLayer.d.ts.map +0 -1
  75. package/dist/generated/driveningress/v1/driveningress.d.ts.map +0 -1
  76. package/dist/generated/driveningress/v2/driveningress.d.ts.map +0 -1
  77. package/dist/generated/google/protobuf/struct.d.ts.map +0 -1
  78. package/dist/generated/google/protobuf/timestamp.d.ts.map +0 -1
  79. package/dist/index-CpSvWi6A.js +0 -6026
  80. package/dist/index-CpSvWi6A.js.map +0 -1
  81. package/dist/index.d.ts.map +0 -1
  82. package/dist/index.js.map +0 -1
  83. package/dist/renderer/RenderSystem.d.ts.map +0 -1
  84. package/dist/renderer/covariance.d.ts.map +0 -1
  85. package/dist/renderer/renderer.d.ts.map +0 -1
  86. package/dist/renderer/sortSplats.d.ts.map +0 -1
  87. package/dist/renderer/webgl/reorderData.d.ts.map +0 -1
  88. package/dist/renderer/webgl/webglRenderer.d.ts.map +0 -1
  89. package/dist/renderer/webgpu/webgpuRenderer.d.ts.map +0 -1
  90. package/dist/types/character-settings.d.ts.map +0 -1
  91. package/dist/types/character.d.ts.map +0 -1
  92. package/dist/types/index.d.ts.map +0 -1
  93. package/dist/utils/animation-interpolation.d.ts.map +0 -1
  94. package/dist/utils/cls-tracker.d.ts +0 -17
  95. package/dist/utils/cls-tracker.d.ts.map +0 -1
  96. package/dist/utils/error-utils.d.ts.map +0 -1
  97. package/dist/utils/logger.d.ts.map +0 -1
  98. package/dist/utils/reqId.d.ts +0 -20
  99. package/dist/utils/reqId.d.ts.map +0 -1
  100. package/dist/wasm/avatarCoreAdapter.d.ts.map +0 -1
  101. package/dist/wasm/avatarCoreMemory.d.ts.map +0 -1
@@ -52,6 +52,24 @@ export declare class AnimationPlayer {
52
52
  * 添加音频块(仅用于流式播放)
53
53
  */
54
54
  addAudioChunk(audio: Uint8Array, isLast?: boolean): void;
55
+ /**
56
+ * 暂停播放
57
+ */
58
+ pause(): void;
59
+ /**
60
+ * 继续播放
61
+ */
62
+ resume(): Promise<void>;
63
+ /**
64
+ * 设置音量 (0.0 - 1.0)
65
+ * 注意:这仅控制数字人音频播放器的音量,不影响系统音量
66
+ * @param volume 音量值,范围 0.0 到 1.0(0.0 为静音,1.0 为最大音量)
67
+ */
68
+ setVolume(volume: number): void;
69
+ /**
70
+ * 获取当前音量
71
+ * @returns 当前音量值 (0.0 - 1.0)
72
+ */
73
+ getVolume(): number;
55
74
  dispose(): void;
56
75
  }
57
- //# sourceMappingURL=AnimationPlayer.d.ts.map
@@ -17,19 +17,38 @@ export declare class StreamingAudioPlayer {
17
17
  private sessionStartTime;
18
18
  private pausedTimeOffset;
19
19
  private pausedAt;
20
+ private pausedAudioContextTime;
20
21
  private scheduledTime;
21
22
  private isPlaying;
22
23
  private isPaused;
23
24
  private autoStartEnabled;
25
+ private autoContinue;
24
26
  private audioChunks;
25
27
  private scheduledChunks;
26
28
  private activeSources;
29
+ private lastScheduledChunkEndTime;
30
+ private lastGetCurrentTimeLog;
31
+ private scheduledChunkInfo;
32
+ private gainNode;
33
+ private volume;
27
34
  private onEndedCallback?;
35
+ private stateChangeHandler?;
36
+ private isResuming;
28
37
  constructor(options?: StreamingAudioPlayerOptions);
29
38
  /**
30
39
  * Initialize audio context (create and ensure it's ready)
31
40
  */
32
41
  initialize(): Promise<void>;
42
+ /**
43
+ * 确保 AudioContext 正在运行(如果被暂停则自动恢复)
44
+ * 只在正在播放且未暂停时自动恢复,避免干扰正常的暂停/恢复逻辑
45
+ *
46
+ * 优化:
47
+ * - 快速路径:如果已经是 running 状态,直接返回
48
+ * - 避免并发恢复:使用 isResuming 标志防止重复恢复请求
49
+ * - 处理 closed 状态:如果 AudioContext 已关闭,无法恢复
50
+ */
51
+ private ensureAudioContextRunning;
33
52
  /**
34
53
  * Add audio chunk (16-bit PCM)
35
54
  */
@@ -60,8 +79,19 @@ export declare class StreamingAudioPlayer {
60
79
  private pcmToAudioBuffer;
61
80
  /**
62
81
  * Get current playback time (seconds)
82
+ * 返回实际播放的音频总时长
63
83
  */
64
84
  getCurrentTime(): number;
85
+ /**
86
+ * Get total duration of buffered audio (seconds)
87
+ * 计算所有已缓冲 chunk 的总时长
88
+ */
89
+ getBufferedDuration(): number;
90
+ /**
91
+ * Get current AudioContext time
92
+ * @returns Current AudioContext time in seconds, or 0 if AudioContext is not initialized
93
+ */
94
+ getAudioContextTime(): number;
65
95
  /**
66
96
  * Pause playback
67
97
  */
@@ -95,14 +125,6 @@ export declare class StreamingAudioPlayer {
95
125
  * Check if playing
96
126
  */
97
127
  isPlayingNow(): boolean;
98
- /**
99
- * Get total duration of buffered audio
100
- */
101
- getBufferedDuration(): number;
102
- /**
103
- * Get remaining duration (buffered - played) in seconds
104
- */
105
- getRemainingDuration(): number;
106
128
  /**
107
129
  * Dispose and cleanup
108
130
  */
@@ -115,9 +137,19 @@ export declare class StreamingAudioPlayer {
115
137
  flush(options?: {
116
138
  hard?: boolean;
117
139
  }): void;
140
+ /**
141
+ * 设置音量 (0.0 - 1.0)
142
+ * 注意:这仅控制数字人音频播放器的音量,不影响系统音量
143
+ * @param volume 音量值,范围 0.0 到 1.0(0.0 为静音,1.0 为最大音量)
144
+ */
145
+ setVolume(volume: number): void;
146
+ /**
147
+ * 获取当前音量
148
+ * @returns 当前音量值 (0.0 - 1.0)
149
+ */
150
+ getVolume(): number;
118
151
  /**
119
152
  * Debug logging
120
153
  */
121
154
  private log;
122
155
  }
123
- //# sourceMappingURL=StreamingAudioPlayer.d.ts.map