diff --git a/zh-cn/application-dev/reference/apis/js-apis-audio.md b/zh-cn/application-dev/reference/apis/js-apis-audio.md
index ae33129b7001defc3092ba04be06e3727e4b244c..c1c664a889a2228be23949ce9f50b9fcd8cfad66 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-audio.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md
@@ -36,6 +36,24 @@ getAudioManager(): AudioManager
var audioManager = audio.getAudioManager();
```
+## audio.getStreamManager9+
+
+getStreamManager(): AudioStreamManager
+
+获取音频流管理器实例。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Core
+
+**返回值:**
+| 类型 | 说明 |
+| -------------------------------------------------| ------------------------------- |
+| [AudioStreamManager](#audiostreammanager9) | 返回音频流管理器实例。 |
+
+**示例:**
+```
+var audioStreamManager = audio.getStreamManager();
+```
+
## audio.createAudioRenderer8+
createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback\): void
@@ -44,7 +62,7 @@ createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback\ {
枚举,焦点模型。
-**系统能力:** SystemCapability.Multimedia.Audio.InterruptMode
+**系统能力:** SystemCapability.Multimedia.Audio.Core
| 名称 | 默认值 | 描述 |
| ---------------------------- | ------ | ---------- |
@@ -331,13 +349,14 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Core
-| 名称 | 默认值 | 描述 |
-| --------------------- | ------ | -------------------------- |
-| SAMPLE_FORMAT_INVALID | -1 | 无效格式。 |
-| SAMPLE_FORMAT_U8 | 0 | 无符号8位整数。 |
-| SAMPLE_FORMAT_S16LE | 1 | 带符号的16位整数,小尾数。 |
-| SAMPLE_FORMAT_S24LE | 2 | 带符号的24位整数,小尾数。 |
-| SAMPLE_FORMAT_S32LE | 3 | 带符号的32位整数,小尾数。 |
+| 名称 | 默认值 | 描述 |
+| ---------------------------------- | ------ | -------------------------- |
+| SAMPLE_FORMAT_INVALID | -1 | 无效格式。 |
+| SAMPLE_FORMAT_U8 | 0 | 无符号8位整数。 |
+| SAMPLE_FORMAT_S16LE | 1 | 带符号的16位整数,小尾数。 |
+| SAMPLE_FORMAT_S24LE | 2 | 带符号的24位整数,小尾数。
由于系统限制,该采样格式仅部分设备支持,请根据实际情况使用。|
+| SAMPLE_FORMAT_S32LE | 3 | 带符号的32位整数,小尾数。
由于系统限制,该采样格式仅部分设备支持,请根据实际情况使用。|
+| SAMPLE_FORMAT_F32LE9+ | 4 | 带符号的32位整数,小尾数。
由于系统限制,该采样格式仅部分设备支持,请根据实际情况使用。|
## AudioChannel8+
@@ -409,6 +428,17 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
| STREAM_USAGE_VOICE_COMMUNICATION | 2 | 语音通信。 |
| STREAM_USAGE_NOTIFICATION_RINGTONE | 6 | 通知铃声。 |
+## FocusType9+
+
+表示焦点类型的枚举。
+
+**系统能力:**: SystemCapability.Multimedia.Audio.Core
+
+| 名称 | 默认值 | 描述 |
+| ---------------------------------- | ------ | ------------------------------- |
+| FOCUS_TYPE_RECORDING | 0 | 在录制场景使用,可打断其他音频。 |
+
+
## AudioState8+
枚举,音频状态。
@@ -510,6 +540,17 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
| usage | [StreamUsage](#streamusage) | 是 | 音频流使用类型。 |
| rendererFlags | number | 是 | 音频渲染器标志。 |
+## AudioRendererFlag9+
+
+枚举,决定输出策略的音频渲染器标志。
+
+**系统能力**: SystemCapability.Multimedia.Audio.Core
+
+| 名称 | 默认值 | 说明 |
+| ------------------| ------------ | ---------------------- |
+| FLAG_NONE | 0 | 无特殊策略。 |
+| FLAG_LOW_LATENCY | 1 | 使用低延迟进程的标志。 |
+
## AudioRendererOptions8+
音频渲染器选项信息。
@@ -576,7 +617,7 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
描述设备连接状态变化和设备信息。
-**系统能力:**SystemCapability.Multimedia.Audio.Device
+**系统能力:** SystemCapability.Multimedia.Audio.Device
| 名称 | 类型 | 必填 | 说明 |
| :---------------- | :------------------------------------------------ | :--- | :----------------- |
@@ -616,6 +657,17 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
| source | [SourceType](#sourcetype) | 是 | 音源类型。 |
| capturerFlags | number | 是 | 音频采集器标志。 |
+## AudioRendererDataInfo9+
+
+音频渲染器的数据信息。
+
+**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+
+| 名称 | 类型 | 必填 | 说明 |
+| ------- | ----------- | -------| ------------------------ |
+| buffer | ArrayBuffer | 是 | 要填充的缓冲区。 |
+| flags | number | 是 | 缓冲区扩展信息。 |
+
## SourceType8+
枚举,音源类型。
@@ -1839,16 +1891,534 @@ audioManager.getAudioScene().then((value) => {
});
```
+## AudioStreamManager9+
+
+管理音频流。在使用AudioStreamManager的API前,需要使用[getStreamManager](#audiogetstreammanager9)获取AudioStreamManager实例。
+
+### getCurrentAudioRendererInfoArray9+
+
+getCurrentAudioRendererInfoArray(callback: AsyncCallback<AudioRendererChangeInfoArray>): void
+
+获取当前音频渲染器的信息。使用callback异步回调。
+
+**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ----------------------------------- | -------- | --------------------------- |
+| callback | AsyncCallback<[AudioRendererChangeInfoArray](#audiorendererchangeinfoarray9)> | 是 | 回调函数,返回当前音频渲染器的信息。 |
+
+**示例:**
+```
+audioStreamManager.getCurrentAudioRendererInfoArray(async (err, AudioRendererChangeInfoArray) => {
+ console.info('[GET_RENDERER_STATE_1_CALLBACK] **** Get Callback Called ****');
+ if (err) {
+ console.log('getCurrentAudioRendererInfoArray :ERROR: '+err.message);
+ resultFlag = false;
+ }
+ else {
+ if (AudioRendererChangeInfoArray !=null) {
+ for (let i=0;i9+
+
+getCurrentAudioRendererInfoArray(): Promise<AudioRendererChangeInfoArray>
+
+获取当前音频渲染器的信息。使用Promise异步回调。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**返回值:**
+
+| 类型 | 说明 |
+| ---------------------------------------------------------------------------------| --------------------------------------- |
+| Promise<[AudioRendererChangeInfoArray](#audiorendererchangeinfoarray9)> | Promise对象,返回当前音频渲染器信息。 |
+
+**示例:**
+```
+await audioStreamManager.getCurrentAudioRendererInfoArray().then( function (AudioRendererChangeInfoArray) {
+ console.info('[GET_RENDERER_STATE_3_PROMISE] ######### Get Promise is called ##########');
+ if (AudioRendererChangeInfoArray!=null) {
+ for (let i=0;i {
+ console.log('getCurrentAudioRendererInfoArray :ERROR: '+err.message);
+ resultFlag = false;
+});
+```
+
+### getCurrentAudioCapturerInfoArray9+
+
+getCurrentAudioCapturerInfoArray(callback: AsyncCallback<AudioCapturerChangeInfoArray>): void
+
+获取当前音频采集器的信息。使用callback异步回调。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| ---------- | ----------------------------------- | --------- | -------------------------------------------------------- |
+| callback | AsyncCallback<[AudioCapturerChangeInfoArray](#audiocapturerchangeinfoarray9)> | 是 | 回调函数,返回当前音频采集器的信息。 |
+
+**示例:**
+```
+audioStreamManager.getCurrentAudioCapturerInfoArray(async (err, AudioCapturerChangeInfoArray) => {
+ console.info('[GET_CAPTURER_STATE_1_CALLBACK] **** Get Callback Called ****');
+ if (err) {
+ console.log('getCurrentAudioCapturerInfoArray :ERROR: '+err.message);
+ resultFlag = false;
+ }
+ else {
+ if (AudioCapturerChangeInfoArray !=null) {
+ for (let i=0;i9+
+
+getCurrentAudioCapturerInfoArray(): Promise<AudioCapturerChangeInfoArray>
+
+获取当前音频采集器的信息。使用Promise异步回调。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**返回值:**
+
+| 类型 | 说明 |
+| -----------------------------------------------------------------------------| ----------------------------------- |
+| Promise<[AudioCapturerChangeInfoArray](#audiocapturerchangeinfoarray9)> | Promise对象,返回当前音频渲染器信息。 |
+
+**示例:**
+```
+await audioStreamManagerCB.getCurrentAudioCapturerInfoArray().then( function (AudioCapturerChangeInfoArray) {
+ console.info('AFCapturerChangeLog: [GET_CAP_STA_1_PR] **** Get Promise Called ****');
+ if (AudioCapturerChangeInfoArray!=null) {
+ for (let i=0;i {
+ console.log('getCurrentAudioCapturerInfoArray :ERROR: '+err.message);
+ resultFlag = false;
+});
+```
+
+### on('audioRendererChange')9+
+
+on(type: "audioRendererChange", callback: Callback<AudioRendererChangeInfoArray>): void
+
+监听音频渲染器更改事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ---------- | --------- | ------------------------------------------------------------------------ |
+| type | string | 是 | 事件类型,支持的事件`'audioRendererChange'`:当音频渲染器发生更改时触发。 |
+| callback | Callback<[AudioRendererChangeInfoArray](#audiorendererchangeinfoarry9)> | 是 | 回调函数。 |
+
+**示例:**
+```
+audioStreamManagerCB.on('audioRendererChange', (AudioRendererChangeInfoArray) => {
+ for (let i=0;i9+
+
+off(type: "audioRendererChange");
+
+监听音频渲染器更改事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ------- | ---- | ---------------- |
+| type | string | 是 | 事件类型,支持的事件`'audioRendererChange'`:音频渲染器更改事件。 |
+
+**示例:**
+```
+audioStreamManagerCB.off('audioRendererChange');
+console.info('[RENDERER-CHANGE-ON-001] ######### RendererChange Off is called #########');
+```
+
+### on('audioCapturerChange')9+
+
+on(type: "audioCapturerChange", callback: Callback<AudioCapturerChangeInfoArray>): void
+
+监听音频捕获器更改事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ------- | --------- | ------------------------------------------------------------------- ---- |
+| type | string | 是 | 事件类型,支持的事件`'audioCapturerChange'`:当音频采集器发生更改时触发。 |
+| callback | Callback<[AudioCapturerChangeInfoArray](#audiocapturerchangeinfoarry9)> | 是 | 回调函数。 |
+
+**示例:**
+```
+audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => {
+ for (let i=0;i9+
+
+off(type: "audioCapturerChange");
+
+监听音频捕获器更改事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | -------- | --- | ------------------------------------------------------------- |
+| type | string |是 | 事件类型,支持的事件`'audioCapturerChange'`:音频采集器更改事件。 |
+
+**示例:**
+```
+audioStreamManager.off('audioCapturerChange');
+console.info('[GET_CAPTURER_STATE_2_PROMISE] ######### CapturerChange Off is called #########');
+
+```
+
+### isAudioRendererLowLatencySupported9+
+
+isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo, callback: Callback<boolean>): void;
+
+检查系统是否支持音频渲染器中的低延迟配置。使用callback异步回调。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| ---------- | ----------------------- | -------- | --------------------------------------- |
+| streaminfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 音频渲染器流信息。 |
+| callback | Callback<boolean> | 是 | 返回系统是否支持音频渲染器中的低延迟配置。 |
+
+**示例:**
+
+```
+var audioManager = audio.getAudioManager();
+
+var AudioStreamInfo = {
+ samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
+ channels: audio.AudioChannel.CHANNEL_1,
+ sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
+ encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
+}
+
+var streamManagerCB = audioManager.getStreamManager();
+streamManagerCB.isAudioRendererLowLatencySupported(AudioStreamInfo, (result) => {
+ console.info('isAudioRendererLowLatencySupported success var = ' + result);
+});
+```
+
+### isAudioRendererLowLatencySupported9+
+
+isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo): Promise<boolean>
+
+检查系统是否支持音频渲染器中的低延迟配置。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ------------------------------------ | ---- | ------------|
+| streaminfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 数据流信息 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ------------------- | ---------------------------------------------------- |
+| Promise<void> | Promise方式异步返回系统是否支持音频渲染器中的低延迟配置。 |
+
+**示例:**
+
+```
+var audioManager = audio.getAudioManager();
+
+var AudioStreamInfo = {
+ samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
+ channels: audio.AudioChannel.CHANNEL_1,
+ sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
+ encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
+}
+
+var streamManager = await audioManager.getStreamManager();
+var result = streamManager.isAudioRendererLowLatencySupported(AudioStreamInfo);
+console.info('isAudioRendererLowLatencySupported success var =' + result);
+```
+
+## AudioRendererChangeInfo9+
+
+描述音频渲染器更改信息。
+
+**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- |
+| streamId | number | 是 | 否 | 音频流唯一id。 |
+| clientUid | number | 是 | 否 | 音频渲染器客户端应用程序的Uid。 |
+| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 否 | 音频渲染器信息。 |
+| rendererState | [AudioState](#audiostate) | 是 | 否 | 音频状态。 |
+
+## AudioRendererChangeInfoArray9+
+
+AudioRenderChangeInfo数组,只读。
+
+**系统能力:**: SystemCapability.Multimedia.Audio.Renderer
+
+**示例:**
+
+```
+import audio from '@ohos.multimedia.audio';
+
+var audioStreamManager;
+var audioStreamManagerCB;
+
+await audioManager.getStreamManager().then(async function (data) {
+ audioStreamManager = data;
+ console.info(Tag+'Get AudioStream Manager : Success ');
+}).catch((err) => {
+ console.info(Tag+'Get AudioStream Manager : ERROR : '+err.message);
+});
+
+audioManager.getStreamManager((err, data) => {
+ if (err) {
+ console.error(Tag+'Get AudioStream Manager : ERROR : '+err.message);
+ }
+ else {
+ audioStreamManagerCB = data;
+ console.info(Tag+'Get AudioStream Manager : Success ');
+ }
+ });
+
+audioStreamManagerCB.on('audioRendererChange', (AudioRendererChangeInfoArray) => {
+ for (let i=0;i9+
+
+描述音频捕获器更改信息。
+
+**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Capturer
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- |
+| streamId | number | 是 | 否 | 音频流唯一id。 |
+| clientUid | number | 是 | 否 | 音频渲染器客户端应用程序的Uid。 |
+| capturerInfo | [AudioCapturerInfo](#audiocaptureinfo8) | 是 | 否 | 音频渲染器信息。 |
+| capturerState | [AudioState](#audiostate) | 是 | 否 | 音频状态。 |
+
+## AudioCapturerChangeInfoArray9+
+
+AudioCapturerChangeInfo数组,只读。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**示例:**
+
+```
+import audio from '@ohos.multimedia.audio';
+
+const audioManager = audio.getAudioManager();
+audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => {
+ for (let i=0;i9+ | number | 是 | 否 | 设备id。 |
+| name9+ | string | 是 | 否 | 设备名称。 |
+| address9+ | string | 是 | 否 | 设备地址。 |
+| sampleRates9+ | Array<number> | 是 | 否 | 支持的采样率。 |
+| channelCounts9+ | Array<number> | 是 | 否 | 支持的通道数。 |
+| channelMasks9+ | Array<number> | 是 | 否 | 支持的通道掩码。 |
## AudioDeviceDescriptors
@@ -1904,7 +2474,7 @@ getRendererInfo(callback: AsyncCallback): void
获取当前被创建的音频渲染器的信息,使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -1929,7 +2499,7 @@ getRendererInfo(): Promise
获取当前被创建的音频渲染器的信息,使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -1958,7 +2528,7 @@ getStreamInfo(callback: AsyncCallback): void
获取音频流信息,使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -1984,7 +2554,7 @@ getStreamInfo(): Promise
获取音频流信息,使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2012,7 +2582,7 @@ start(callback: AsyncCallback): void
启动音频渲染器。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2038,7 +2608,7 @@ start(): Promise
启动音频渲染器。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2062,7 +2632,7 @@ pause(callback: AsyncCallback\): void
暂停渲染。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2088,7 +2658,7 @@ pause(): Promise\
暂停渲染。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2112,7 +2682,7 @@ drain(callback: AsyncCallback\): void
检查缓冲区是否已被耗尽。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2138,7 +2708,7 @@ drain(): Promise\
检查缓冲区是否已被耗尽。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2162,7 +2732,7 @@ stop(callback: AsyncCallback\): void
停止渲染。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2188,7 +2758,7 @@ stop(): Promise\
停止渲染。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2212,7 +2782,7 @@ release(callback: AsyncCallback\): void
释放音频渲染器。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2238,7 +2808,7 @@ release(): Promise\
释放渲染器。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2262,7 +2832,7 @@ write(buffer: ArrayBuffer, callback: AsyncCallback\): void
写入缓冲区。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2331,7 +2901,7 @@ write(buffer: ArrayBuffer): Promise\
写入缓冲区。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2401,7 +2971,7 @@ getAudioTime(callback: AsyncCallback\): void
获取时间戳(从 1970 年 1 月 1 日开始)。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2423,7 +2993,7 @@ getAudioTime(): Promise\
获取时间戳(从 1970 年 1 月 1 日开始)。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2447,7 +3017,7 @@ getBufferSize(callback: AsyncCallback\): void
获取音频渲染器的最小缓冲区大小。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2471,7 +3041,7 @@ getBufferSize(): Promise\
获取音频渲染器的最小缓冲区大小。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2524,7 +3094,7 @@ setRenderRate(rate: AudioRendererRate, callback: AsyncCallback\): void
设置音频渲染速率。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2551,7 +3121,7 @@ setRenderRate(rate: AudioRendererRate): Promise\
设置音频渲染速率。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2581,7 +3151,7 @@ getRenderRate(callback: AsyncCallback\): void
获取当前渲染速率。使用callback方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2603,7 +3173,7 @@ getRenderRate(): Promise\
获取当前渲染速率。使用Promise方式异步返回结果。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**返回值:**
@@ -2622,7 +3192,7 @@ audioRenderer.getRenderRate().then((renderRate) => {
```
### setInterruptMode9+
-setInterruptMode(interruptMode: InterruptMode): Promise<void>
+setInterruptMode(mode: InterruptMode): Promise<void>
设置应用的焦点模型。使用Promise异步回调。
@@ -2630,9 +3200,9 @@ setInterruptMode(interruptMode: InterruptMode): Promise<void>
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
-| interruptMode | [InterruptMode](#InterruptMode) | 是 | 焦点模型。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| ---------- | ---------------------------------- | ------ | ---------- |
+| mode | [InterruptMode](#InterruptMode) | 是 | 焦点模型。 |
**返回值:**
@@ -2650,7 +3220,7 @@ audioManager.setInterruptMode(audio.InterruptMode.SHARE_MODE).then(() => {
```
### setInterruptMode9+
-setInterruptMode(interruptMode: InterruptMode, callback: Callback\): void
+setInterruptMode(mode: InterruptMode, callback: Callback\): void
设置应用的焦点模型。使用Callback回调返回执行结果。
@@ -2658,10 +3228,10 @@ setInterruptMode(interruptMode: InterruptMode, callback: Callback\): void
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
-|interruptMode | [InterruptMode](#InterruptMode) | 是 | 焦点模型。|
-|callback | Callback\ | 是 |回调返回执行结果。|
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ----------------------------------- | ------ | -------------- |
+|mode | [InterruptMode](#InterruptMode) | 是 | 焦点模型。|
+|callback | Callback\ | 是 |回调返回执行结果。|
**示例:**
@@ -2677,7 +3247,7 @@ on(type: 'interrupt', callback: Callback\): void
监听音频中断事件。使用callback获取中断事件。
-**系统能力**: SystemCapability.Multimedia.Audio.Renderer
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数:**
@@ -2858,6 +3428,35 @@ audioRenderer.on('stateChange', (state) => {
});
```
+### on('dataRequest') 9+
+
+on(type: "dataRequest", callback: Callback): void;
+
+订阅音频数据requeset事件回调。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| -------- | ------- | --------- | ------------------------------------------------------------------- |
+| type | string | 是 | 事件类型。值**dataRequest**表示数据请求事件。 |
+| callback | [AudioRendererDataInfo](#audiorendererdatainfo9) | 是 | 需要音频数据时调用回调。|
+
+**示例:**
+```
+const path = '/data/storage/el2/ba se/haps/entry/cache/PinkPanther60-44100-1c.wav';
+ let ss = fileio.createStreamSync(path, 'r');
+ let discardHeader = new ArrayBuffer(44);
+ ss.readSync(discardHeader);
+ let rlen = 0;
+ audioRenderer.on('dataRequest', (audioRendererDataInfo) => {
+ var viewObject = new DataView(audioRendererDataInfo.buffer);
+ rlen += ss.readSync(viewObject.buffer);
+ console.info('AudioRenderLog: bytes read from file: ' + rlen);
+ })
+```
+
## AudioCapturer8+
提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过[createAudioCapturer](#audiocreateaudiocapturer8)创建实例。
@@ -3002,7 +3601,7 @@ start(callback: AsyncCallback): void
**系统能力:** SystemCapability.Multimedia.Audio.Capturer
-**参数**
+**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| :------- | :------------------- | :--- | :----------------------------- |
@@ -3192,7 +3791,7 @@ read(size: number, isBlockingRead: boolean, callback: AsyncCallback