diff --git a/api/@ohos.multimedia.audio.d.ts b/api/@ohos.multimedia.audio.d.ts index d6f0a0353e7177c57203f20e1b8827c96ccdc833..bd0185545738a77877abdb363090bc137e3c54fd 100644 --- a/api/@ohos.multimedia.audio.d.ts +++ b/api/@ohos.multimedia.audio.d.ts @@ -588,6 +588,26 @@ declare namespace audio { rendererFlags: number; } + /** + * Audio renderer flags used to decide output strategy. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Core + */ + enum AudioRendererFlag { + /** + * No special strategy. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Core + */ + FLAG_NONE = 0, + /** + * Flag to use low latency process. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Core + */ + FLAG_LOW_LATENCY = 1 + } + /** * Describes audio renderer configuration options. * @since 8 @@ -1200,6 +1220,27 @@ declare namespace audio { off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback): void; } + /** + * Implements audio stream management. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Core + */ + interface AudioStreamManager { + /** + * Check if system support low latency configuration in audio renderer. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Renderer + */ + isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo, callback: Callback): void; + + /** + * Check if system support low latency configuration in audio renderer. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Renderer + */ + isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo): Promise; + } + /** * Describes an audio device. * @since 7 @@ -1579,6 +1620,34 @@ declare namespace audio { * @syscap SystemCapability.Multimedia.Audio.Renderer */ on(type: "stateChange", callback: Callback): void; + + /** + * Subscribes audio data requeset event callback. + * @param callback Callback invoked when need audio data. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Renderer + */ + on(type: "dataRequest", callback: Callback): void; + } + + /** + * Describe data info. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Renderer + */ + interface AudioRendererDataInfo { + /** + * Buffer to fill. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Renderer + */ + buffer: ArrayBuffer; + /** + * Extend info with buffer. + * @since 9 + * @syscap SystemCapability.Multimedia.Audio.Renderer + */ + flags: number; } /**