@agora-js/media 4.23.0 → 4.23.2-1

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/media.d.ts CHANGED
@@ -363,6 +363,10 @@ export declare interface AudioEncoderConfiguration {
363
363
  */
364
364
  export declare type AudioEncoderConfigurationPreset = keyof typeof AUDIO_ENCODER_CONFIG_SETTINGS;
365
365
 
366
+ export declare interface AudioMetadata {
367
+ value: Uint8Array;
368
+ }
369
+
366
370
  export declare interface AudioPlaybackOptions {
367
371
  /**
368
372
  * 控制人声是否要被播放,默认为 `true`
@@ -1405,12 +1409,17 @@ declare function event_beauty_effect_overload(): void;
1405
1409
  /**
1406
1410
  * 首帧音频或视频解码时触发。
1407
1411
  *
1412
+ * > 注意:
1413
+ * > 该事件只有在本地调用了 [IRemoteTrack.play]{@link play} 后才会触发。
1408
1414
  * @event
1409
1415
  * @asMemberOf IRemoteTrack
1410
1416
  */
1411
1417
  /** @en
1412
1418
  * Occurs when the first remote audio or video frame is decoded.
1413
1419
  *
1420
+ * > Note:
1421
+ * > To trigger this callback, the local client needs to call [IRemoteTrack.play]{@link play}.
1422
+ *
1414
1423
  * @event
1415
1424
  * @asMemberOf IRemoteTrack
1416
1425
  */
@@ -2879,15 +2888,25 @@ export declare interface IMicrophoneAudioTrack extends ILocalAudioTrack {
2879
2888
  setEnabled(enabled: boolean): Promise<void>;
2880
2889
  }
2881
2890
 
2882
- export declare function interceptLocalAudioFrame(sender: RTCRtpSender): Promise<void>;
2891
+ export declare function interceptLocalAudioFrame(sender: RTCRtpSender, options?: InterceptLocalAudioFrameOptions): Promise<void>;
2892
+
2893
+ export declare interface InterceptLocalAudioFrameOptions {
2894
+ metadata?: () => Uint8Array | undefined;
2895
+ }
2883
2896
 
2884
2897
  export declare function interceptLocalVideoFrame(sender: RTCRtpSender, localVideoTrack: LocalVideoTrack): Promise<void>;
2885
2898
 
2886
- export declare function interceptRemoteAudioFrame(receiver: RTCRtpReceiver): Promise<void>;
2899
+ export declare function interceptRemoteAudioFrame(receiver: RTCRtpReceiver, options?: InterceptRemoteAudioFrameOptions): Promise<void>;
2900
+
2901
+ export declare interface InterceptRemoteAudioFrameOptions {
2902
+ enableTopn?: boolean;
2903
+ enableMetadata?: boolean;
2904
+ onMetadata?: (metadata: Uint8Array) => void;
2905
+ }
2887
2906
 
2888
2907
  export declare function interceptRemoteVideoFrame(receiver: RTCRtpReceiver, options?: InterceptVideoFrameOptions): Promise<void>;
2889
2908
 
2890
- declare interface InterceptVideoFrameOptions {
2909
+ export declare interface InterceptVideoFrameOptions {
2891
2910
  onSei?: (sei: Uint8Array) => void;
2892
2911
  }
2893
2912
 
@@ -3462,6 +3481,7 @@ export declare class LocalAudioTrack extends LocalTrack implements ILocalAudioTr
3462
3481
  readonly trackMediaType: "audio" | "video";
3463
3482
  _encoderConfig?: AudioEncoderConfiguration;
3464
3483
  _trackSource: AudioTrackSource | FakeTrackSource;
3484
+ metadata: AudioMetadata[];
3465
3485
  /**
3466
3486
  * @description This method is used to init WebAudio, if you're sure you don't want to use WebAudio, call _trackSource
3467
3487
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agora-js/media",
3
- "version": "4.23.0",
3
+ "version": "4.23.2-1",
4
4
  "description": "media module across @agora-js packages",
5
5
  "main": "AgoraRTC_N-media.js",
6
6
  "module": "AgoraRTC_N-media.esm.mjs",
@@ -23,9 +23,9 @@
23
23
  "homepage": "https://api-ref.agora.io/en/voice-sdk/web/4.x/index.html",
24
24
  "peerDependencies": {},
25
25
  "dependencies": {
26
- "@agora-js/shared": "4.23.0",
27
- "@agora-js/report": "4.23.0",
28
- "axios": "^1.7.7",
26
+ "@agora-js/shared": "4.23.2-1",
27
+ "@agora-js/report": "4.23.2-1",
28
+ "axios": "^1.8.3",
29
29
  "agora-rte-extension": "^1.2.4",
30
30
  "webrtc-adapter": "8.2.0"
31
31
  }
@@ -229,6 +229,10 @@ export declare interface AudioEncoderConfiguration {
229
229
  */
230
230
  export declare type AudioEncoderConfigurationPreset = keyof typeof AUDIO_ENCODER_CONFIG_SETTINGS;
231
231
 
232
+ export declare interface AudioMetadata {
233
+ value: Uint8Array;
234
+ }
235
+
232
236
  export declare interface AudioPlaybackOptions {
233
237
  origin?: boolean;
234
238
  mixing?: boolean;
@@ -919,6 +923,9 @@ declare function event_beauty_effect_overload(): void;
919
923
  /**
920
924
  * Occurs when the first remote audio or video frame is decoded.
921
925
  *
926
+ * > Note:
927
+ * > To trigger this callback, the local client needs to call [IRemoteTrack.play]{@link play}.
928
+ *
922
929
  * @event
923
930
  * @asMemberOf IRemoteTrack
924
931
  */
@@ -1766,15 +1773,25 @@ export declare interface IMicrophoneAudioTrack extends ILocalAudioTrack {
1766
1773
  setEnabled(enabled: boolean): Promise<void>;
1767
1774
  }
1768
1775
 
1769
- export declare function interceptLocalAudioFrame(sender: RTCRtpSender): Promise<void>;
1776
+ export declare function interceptLocalAudioFrame(sender: RTCRtpSender, options?: InterceptLocalAudioFrameOptions): Promise<void>;
1777
+
1778
+ export declare interface InterceptLocalAudioFrameOptions {
1779
+ metadata?: () => Uint8Array | undefined;
1780
+ }
1770
1781
 
1771
1782
  export declare function interceptLocalVideoFrame(sender: RTCRtpSender, localVideoTrack: LocalVideoTrack): Promise<void>;
1772
1783
 
1773
- export declare function interceptRemoteAudioFrame(receiver: RTCRtpReceiver): Promise<void>;
1784
+ export declare function interceptRemoteAudioFrame(receiver: RTCRtpReceiver, options?: InterceptRemoteAudioFrameOptions): Promise<void>;
1785
+
1786
+ export declare interface InterceptRemoteAudioFrameOptions {
1787
+ enableTopn?: boolean;
1788
+ enableMetadata?: boolean;
1789
+ onMetadata?: (metadata: Uint8Array) => void;
1790
+ }
1774
1791
 
1775
1792
  export declare function interceptRemoteVideoFrame(receiver: RTCRtpReceiver, options?: InterceptVideoFrameOptions): Promise<void>;
1776
1793
 
1777
- declare interface InterceptVideoFrameOptions {
1794
+ export declare interface InterceptVideoFrameOptions {
1778
1795
  onSei?: (sei: Uint8Array) => void;
1779
1796
  }
1780
1797
 
@@ -2099,6 +2116,7 @@ export declare class LocalAudioTrack extends LocalTrack implements ILocalAudioTr
2099
2116
  readonly trackMediaType: "audio" | "video";
2100
2117
  _encoderConfig?: AudioEncoderConfiguration;
2101
2118
  _trackSource: AudioTrackSource | FakeTrackSource;
2119
+ metadata: AudioMetadata[];
2102
2120
  get _source(): AudioTrackSource;
2103
2121
  set _source(source: AudioTrackSource | FakeTrackSource);
2104
2122
  _enabled: boolean;