@bdky/aaas-pilot-kit 1.1.1 → 1.1.2

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.
@@ -26,18 +26,6 @@ export declare class AzureAsrService extends BaseAsrService {
26
26
  * 媒体流实例(用于 Mute 控制)
27
27
  */
28
28
  private mediaStream;
29
- /**
30
- * 能量门控实例(用于 TTS 回声抑制)
31
- */
32
- private energyGate;
33
- /**
34
- * Web Audio API 上下文
35
- */
36
- private audioContext;
37
- /**
38
- * AudioContext 生命周期管理器(移动端)
39
- */
40
- private audioContextLifecycle;
41
29
  /**
42
30
  * 预加载依赖
43
31
  *
@@ -73,18 +61,6 @@ export declare class AzureAsrService extends BaseAsrService {
73
61
  * @param muted - 是否静音
74
62
  */
75
63
  mute: (muted: boolean) => void;
76
- /**
77
- * 设置外部播放抑制启用状态
78
- *
79
- * 该方法用于控制能量门控的阈值调整,以抑制外部音频干扰(如 TTS 播放)
80
- *
81
- * @param enabled - 是否启用抑制
82
- *
83
- * @remarks
84
- * - 当 enabled 为 true 时,会提高能量门控阈值,抑制外部音频
85
- * - 当 enabled 为 false 时,恢复正常阈值
86
- */
87
- setPlaybackSuppressionEnabled: (enabled: boolean) => void;
88
64
  /**
89
65
  * 销毁 ASR 服务
90
66
  *
@@ -4,6 +4,8 @@ import type { BaseSignalingService } from '../signal/base';
4
4
  import type { MediaStreamManager } from '../../../utils/MediaStreamManager';
5
5
  import { ErrorManager } from '../../../error';
6
6
  import { type AudioDeviceCheckResult, type AudioDetectorOptions } from '../../../utils/AudioDeviceDetector';
7
+ import { EnergyBasedGate } from '../../../utils/EnergyBasedGate';
8
+ import { AudioContextLifecycle } from '../../../utils/audio-processing/AudioContextLifecycle';
7
9
  export declare namespace NBaseAsrService {
8
10
  enum EMessageType {
9
11
  Query = 0,
@@ -65,6 +67,18 @@ export declare abstract class BaseAsrService<E extends NBaseAsrService.IEmitter
65
67
  * MediaStream 管理器(通过 DI 注入)
66
68
  */
67
69
  protected readonly streamManager: MediaStreamManager;
70
+ /**
71
+ * 能量门控实例(用于 TTS 回声抑制)
72
+ */
73
+ protected energyGate: EnergyBasedGate | null;
74
+ /**
75
+ * Web Audio API 上下文
76
+ */
77
+ protected audioContext: AudioContext | null;
78
+ /**
79
+ * AudioContext 生命周期管理器(移动端)
80
+ */
81
+ protected audioContextLifecycle: AudioContextLifecycle | null;
68
82
  private lastCheckResult;
69
83
  private lastCheckTime;
70
84
  private readonly CHECK_CACHE_TTL;
@@ -94,13 +108,13 @@ export declare abstract class BaseAsrService<E extends NBaseAsrService.IEmitter
94
108
  /**
95
109
  * 设置外部播放抑制启用状态
96
110
  *
97
- * 该方法用于控制 ASR 输入的外部播放抑制策略(例如 TTS 外放期间抬阈门控)。
111
+ * 该方法用于控制能量门控的阈值调整,以抑制外部音频干扰(如 TTS 播放)
98
112
  *
99
113
  * @param enabled - 是否启用抑制
100
114
  *
101
115
  * @remarks
102
- * - 默认实现为空操作,需要子类根据具体实现来重写
103
- * - 例如 Azure ASR 使用能量门控(EnergyBasedGate)进行抬阈抑制
116
+ * - 当 enabled 为 true 时,会提高能量门控阈值,抑制外部音频
117
+ * - enabled false 时,恢复正常阈值
104
118
  */
105
119
  setPlaybackSuppressionEnabled: (enabled: boolean) => void;
106
120
  /**
@@ -130,6 +144,18 @@ export declare abstract class BaseAsrService<E extends NBaseAsrService.IEmitter
130
144
  checkAudioDevice: (options?: AudioDetectorOptions & {
131
145
  forceCheck?: boolean;
132
146
  }) => Promise<AudioDeviceCheckResult>;
147
+ /**
148
+ * 设置外部播放抑制
149
+ *
150
+ * @param stream - 原始音频流
151
+ * @param logPrefix - 日志前缀(用于区分不同的 ASR 服务)
152
+ * @returns 处理后的音频流(如果启用抑制)或原始流
153
+ */
154
+ protected readonly setupPlaybackSuppression: (stream: MediaStream, logPrefix?: string) => Promise<MediaStream>;
155
+ /**
156
+ * 清理外部播放抑制相关资源
157
+ */
158
+ protected readonly cleanupPlaybackSuppression: () => void;
133
159
  /**
134
160
  * 处理麦克风检测失败的策略
135
161
  *
@@ -26,6 +26,10 @@ export declare class BRTCAsrService extends BaseAsrService {
26
26
  private silenceTimer;
27
27
  private lastMessageTime;
28
28
  private messageIntervalTimer;
29
+ /**
30
+ * 媒体流实例(用于 Mute 控制)
31
+ */
32
+ private mediaStream;
29
33
  preloadDeps(): Promise<void>;
30
34
  start: () => Promise<void>;
31
35
  stop: () => Promise<void>;
@@ -39,6 +39,8 @@ export declare namespace NBRTCSignalingService {
39
39
  debuglevel?: boolean | 'all' | Array<'debug' | 'log' | 'error'>;
40
40
  remotevideoviewid?: string | HTMLElement;
41
41
  localvideoviewid?: string | HTMLElement;
42
+ /** 外部传入流 */
43
+ stream?: MediaStream;
42
44
  success?: () => void;
43
45
  error?: (err: string) => void;
44
46
  onmessage?: (msg: IRawMessage) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bdky/aaas-pilot-kit",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "百度数字员工基础套件 - AI智能体、语音识别、数字人渲染全链路SDK,事件驱动、框架无关",
5
5
  "keywords": [
6
6
  "digital-employee",