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 60c07497fce954d417b4100e0b00d71c0dcb6016..d21009a4fd40f5f598d864edb1bcc7e14182c876 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-audio.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-audio.md
@@ -6,7 +6,8 @@
该模块提供以下音频相关的常用功能:
- [AudioManager](#audiomanager):音频管理。
-- [AudioRenderer](#audiorenderer8):音频播放,用于播放PCM(Pulse Code Modulation)音频数据。
+- [AudioRenderer](#audiorenderer8):音频渲染,用于播放PCM(Pulse Code Modulation)音频数据。
+- [AudioCapturer](#audiocapturer8):音频采集,用于录制PCM(Pulse Code Modulation)音频数据。
## 导入模块
@@ -37,21 +38,73 @@ var audioManager = audio.getAudioManager();
createAudioRenderer(options: AudioRendererOptions): AudioRenderer
-获取音频播放器。
+获取音频渲染器。
**系统能力:** SystemCapability.Multimedia.Audio.Renderer
**参数**:
-| 参数名 | 类型 | 必填 | 说明 |
-| ------- | ---------------------------------------------- | ---- | ----------- |
-| options | [AudioRendererOptions](#audiorendereroptions8) | 是 | 配置播放器. |
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ---------------------------------------------- | ---- | ------------ |
+| options | [AudioRendererOptions](#audiorendereroptions8) | 是 | 配置渲染器。 |
**返回值**:
| 类型 | 说明 |
| -------------------------------- | ---------------- |
-| [AudioRenderer](#audiorenderer8) | 音频播放器对象。 |
+| [AudioRenderer](#audiorenderer8) | 音频渲染器对象。 |
+
+**示例:**
+
+```
+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 audioRendererInfo = {
+ content: audio.ContentType.CONTENT_TYPE_SPEECH,
+ usage: audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION,
+ rendererFlags: 1
+}
+
+var audioRendererOptions = {
+ streamInfo: audioStreamInfo,
+ rendererInfo: audioRendererInfo
+}
+
+audio.createAudioRenderer(audioRendererOptions,(err, data) => {
+ if (err) {
+ console.error(`AudioRender Created : Error: ${err.message}`);
+ }
+ else {
+ console.info('AudioRender Created : Success : SUCCESS');
+ audioRenderer = data;
+ }
+});
+```
+
+## audio.createAudioRenderer8+
+
+createAudioRenderer(options: AudioRendererOptions): Promise
+
+获取音频渲染器。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------ | :--------------------------------------------- | :--- | :----------- |
+| options | [AudioRendererOptions](#audiorendereroptions8) | 是 | 配置渲染器。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ----------------------------------------- | ---------------- |
+| Promise<[AudioRenderer](#audiorenderer8)> | 音频播放器对象。 |
**示例:**
@@ -77,6 +130,95 @@ var audioRendererOptions = {
let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
```
+## audio.createAudioCapturer8+
+
+createAudioCapturer(options: AudioCapturerOptions, callback: AsyncCallback): void
+
+获取音频采集器。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :--------------------------------------------- | :--- | :--------------- |
+| options | [AudioCapturerOptions](#AudioCapturerOptions) | 是 | 配置音频采集器。 |
+| callback | AsyncCallback<[AudioCapturer](#AudioCapturer)> | 是 | 音频采集器对象。 |
+
+**示例:**
+
+```
+var audioStreamInfo = {
+ samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
+ channels: audio.AudioChannel.CHANNEL_2,
+ sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
+ encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
+}
+
+var audioCapturerInfo = {
+ source: audio.SourceType.SOURCE_TYPE_MIC,
+ capturerFlags: 1
+}
+
+var audioCapturerOptions = {
+ streamInfo: audioStreamInfo,
+ capturerInfo: audioCapturerInfo
+}
+
+audio.createAudioCapturer(audioCapturerOptions,(err, data) => {
+ if (err) {
+ console.error(`AudioCapturer Created : Error: ${err.message}`);
+ }
+ else {
+ console.info('AudioCapturer Created : Success : SUCCESS');
+ audioCapturer = data;
+ }
+});
+```
+
+## audio.createAudioCapturer8+
+
+createAudioCapturer(options: AudioCapturerOptions): Promise
+
+获取音频采集器。使用promise 方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------ | :------------------- | :--- | :--------------- |
+| options | AudioCapturerOptions | 是 | 配置音频采集器。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| ----------------------------------------- | -------------- |
+| Promise<[AudioCapturer](#AudioCapturer8)> | 音频采集器对象 |
+
+**示例:**
+
+```
+var audioStreamInfo = {
+ samplingRate: audio.AudioSamplingRate.SAMPLE_RATE_44100,
+ channels: audio.AudioChannel.CHANNEL_2,
+ sampleFormat: audio.AudioSampleFormat.SAMPLE_FORMAT_S16LE,
+ encodingType: audio.AudioEncodingType.ENCODING_TYPE_RAW
+}
+
+var audioCapturerInfo = {
+ source: audio.SourceType.SOURCE_TYPE_MIC,
+ capturerFlags: 1
+}
+
+var audioCapturerOptions = {
+ streamInfo: AudioStreamInfo,
+ capturerInfo: AudioCapturerInfo
+}
+
+let audioCapturer = await audio.createAudioCapturer(audioCapturerOptions);
+```
+
## AudioVolumeType
枚举,音频流类型。
@@ -122,17 +264,17 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Device
-| 名称 | 默认值 | 描述 |
-| -------------- | ------ | --------------------------------------------------------- |
-| INVALID | 0 | 无效设备。 |
-| EARPIECE | 1 | 听筒。 |
-| SPEAKER | 2 | 扬声器。 |
-| WIRED_HEADSET | 3 | 有线耳机,带麦克风。 |
-| WIRED_HEADPHONE| 4 | 有线耳机,无麦克风。 |
-| BLUETOOTH_SCO | 7 | 蓝牙设备SCO(Synchronous Connection Oriented)连接。 |
-| BLUETOOTH_A2DP | 8 | 蓝牙设备A2DP(Advanced Audio Distribution Profile)连接。 |
-| MIC | 15 | 麦克风。 |
-| USB_HEADSET | 22 | USB耳机,带麦克风。 |
+| 名称 | 默认值 | 描述 |
+| --------------- | ------ | --------------------------------------------------------- |
+| INVALID | 0 | 无效设备。 |
+| EARPIECE | 1 | 听筒。 |
+| SPEAKER | 2 | 扬声器。 |
+| WIRED_HEADSET | 3 | 有线耳机,带麦克风。 |
+| WIRED_HEADPHONE | 4 | 有线耳机,无麦克风。 |
+| BLUETOOTH_SCO | 7 | 蓝牙设备SCO(Synchronous Connection Oriented)连接。 |
+| BLUETOOTH_A2DP | 8 | 蓝牙设备A2DP(Advanced Audio Distribution Profile)连接。 |
+| MIC | 15 | 麦克风。 |
+| USB_HEADSET | 22 | USB耳机,带麦克风。 |
## ActiveDeviceType
@@ -213,22 +355,22 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| ENCODING_TYPE_INVALID | -1 | 无效。 |
| ENCODING_TYPE_RAW | 0 | PCM编码。 |
-## ContentType8+
+## ContentType
枚举,音频内容类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Core
-| 名称 | 默认值 | 描述 |
-| ------------------------- | ------ | ---------- |
-| CONTENT_TYPE_UNKNOWN | 0 | 未知类型。 |
-| CONTENT_TYPE_SPEECH | 1 | 语音。 |
-| CONTENT_TYPE_MUSIC | 2 | 音乐。 |
-| CONTENT_TYPE_MOVIE | 3 | 电影。 |
-| CONTENT_TYPE_SONIFICATION | 4 | 加密类型。 |
-| CONTENT_TYPE_RINGTONE | 5 | 铃声。 |
+| 名称 | 默认值 | 描述 |
+| ---------------------------------- | ------ | ---------- |
+| CONTENT_TYPE_UNKNOWN | 0 | 未知类型。 |
+| CONTENT_TYPE_SPEECH | 1 | 语音。 |
+| CONTENT_TYPE_MUSIC | 2 | 音乐。 |
+| CONTENT_TYPE_MOVIE | 3 | 电影。 |
+| CONTENT_TYPE_SONIFICATION | 4 | 加密类型。 |
+| CONTENT_TYPE_RINGTONE8+ | 5 | 铃声。 |
-## StreamUsage8+
+## StreamUsage
枚举,音频流使用类型。
@@ -239,7 +381,7 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| STREAM_USAGE_UNKNOWN | 0 | 未知类型。 |
| STREAM_USAGE_MEDIA | 1 | 音频。 |
| STREAM_USAGE_VOICE_COMMUNICATION | 2 | 语音通信。 |
-| STREAM_USAGE_NOTIFICATION_RINGTONE | 3 | 通知铃声。 |
+| STREAM_USAGE_NOTIFICATION_RINGTONE | 6 | 通知铃声。 |
## AudioState8+
@@ -259,7 +401,7 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
## AudioRendererRate8+
-枚举,播放速度。
+枚举,音频渲染速度。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
@@ -269,7 +411,7 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| RENDER_RATE_DOUBLE | 1 | 2倍速。 |
| RENDER_RATE_HALF | 2 | 0.5倍数。 |
-## InterruptType8+
+## InterruptType
枚举,中断类型。
@@ -280,7 +422,7 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| INTERRUPT_TYPE_BEGIN | 1 | 音频播放中断事件开始。 |
| INTERRUPT_TYPE_END | 2 | 音频播放中断事件结束。 |
-## InterruptForceType8+
+## InterruptForceType9+
枚举,强制打断类型。
@@ -291,20 +433,20 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| INTERRUPT_FORCE | 0 | 由系统进行操作,强制打断音频播放。 |
| INTERRUPT_SHARE | 1 | 由应用进行操作,可以选择打断或忽略。 |
-## InterruptHint8+
+## InterruptHint
枚举,中断提示。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
-| 名称 | 默认值 | 描述 |
-| --------------------- | ------ | -------------------------------------------- |
-| INTERRUPT_HINT_NONE | 0 | 无提示。 |
-| INTERRUPT_HINT_RESUME | 1 | 提示音频恢复。 |
-| INTERRUPT_HINT_PAUSE | 2 | 提示音频暂停。 |
-| INTERRUPT_HINT_STOP | 3 | 提示音频停止。 |
-| INTERRUPT_HINT_DUCK | 4 | 提示音频躲避。(躲避:音量减弱,而不会停止) |
-| INTERRUPT_HINT_UNDUCK | 5 | 提示音量恢复。 |
+| 名称 | 默认值 | 描述 |
+| ---------------------------------- | ------ | -------------------------------------------- |
+| INTERRUPT_HINT_NONE8+ | 0 | 无提示。 |
+| INTERRUPT_HINT_RESUME | 1 | 提示音频恢复。 |
+| INTERRUPT_HINT_PAUSE | 2 | 提示音频暂停。 |
+| INTERRUPT_HINT_STOP | 3 | 提示音频停止。 |
+| INTERRUPT_HINT_DUCK | 4 | 提示音频躲避。(躲避:音量减弱,而不会停止) |
+| INTERRUPT_HINT_UNDUCK8+ | 5 | 提示音量恢复。 |
## InterruptActionType
@@ -334,28 +476,28 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
## AudioRendererInfo8+
-音频播放器信息。
+音频渲染器信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Core
-| 名称 | 类型 | 必填 | 说明 |
-| ------------- | ---------------------------- | ---- | ---------------- |
-| contentType | [ContentType](#contenttype8) | 是 | 媒体类型。 |
-| usage | [StreamUsage](#streamusage8) | 是 | 音频流使用类型。 |
-| rendererFlags | number | 是 | 音频播放器标志。 |
+| 名称 | 类型 | 必填 | 说明 |
+| ------------- | --------------------------- | ---- | ---------------- |
+| contentType | [ContentType](#contenttype) | 是 | 媒体类型。 |
+| usage | [StreamUsage](#streamusage) | 是 | 音频流使用类型。 |
+| rendererFlags | number | 是 | 音频渲染器标志。 |
## AudioRendererOptions8+
-音频播放器选项信息。
+音频渲染器选项信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
| 名称 | 类型 | 必填 | 说明 |
| ------------ | ---------------------------------------- | ---- | ---------------- |
| streamInfo | [AudioStreamInfo](#audiostreaminfo8) | 是 | 表示音频流信息。 |
-| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 表示播放器信息。 |
+| rendererInfo | [AudioRendererInfo](#audiorendererinfo8) | 是 | 表示渲染器信息。 |
-## InterruptEvent8+
+## InterruptEvent9+
播放中断时,应用接收的中断事件。
@@ -363,9 +505,9 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------------------------------------------ | ---- | ------------------------------------ |
-| eventType | [InterruptType](#interrupttype8) | 是 | 中断事件类型,开始或是结束。 |
-| forceType | [InterruptForceType](#interruptforcetype8) | 是 | 操作是由系统执行或是由应用程序执行。 |
-| hintType | [InterruptHint](#interrupthint8) | 是 | 中断提示。 |
+| eventType | [InterruptType](#interrupttype) | 是 | 中断事件类型,开始或是结束。 |
+| forceType | [InterruptForceType](#interruptforcetype9) | 是 | 操作是由系统执行或是由应用程序执行。 |
+| hintType | [InterruptHint](#interrupthint) | 是 | 中断提示。 |
## AudioInterrupt
@@ -377,8 +519,8 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------------------------------------------ | ---- | ------------------------------------ |
-| streamUsage | [StreamUsage](#streamusage8) | 是 | 音频流使用类型。 |
-| contentType | [ContentType](#contenttype8) | 是 | 音频打断媒体类型。 |
+| streamUsage | [StreamUsage](#streamusage) | 是 | 音频流使用类型。 |
+| contentType | [ContentType](#contenttype) | 是 | 音频打断媒体类型。 |
| pauseWhenDucked | boolean | 是 | 音频打断时是否可以暂停音频播放(true表示音频播放可以在音频打断期间暂停,false表示相反)。 |
## InterruptAction
@@ -392,14 +534,16 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| 名称 | 类型 | 必填 | 说明 |
| --------- | ------------------------------------------ | ---- | ------------------------------------ |
| actionType | [InterruptActionType](#interruptactiontype) | 是 | 事件返回类型。TYPE_ACTIVATED为焦点触发事件,TYPE_INTERRUPT为音频打断事件。 |
-| type | [InterruptType](#interrupttype8) | 否 | 打断事件类型。 |
-| hint | [InterruptHint](interrupthint8) | 否 | 打断事件提示。 |
+| type | [InterruptType](#interrupttype) | 否 | 打断事件类型。 |
+| hint | [InterruptHint](interrupthint) | 否 | 打断事件提示。 |
| activated | boolean | 否 | 获得/释放焦点。true表示焦点获取/释放成功,false表示焦点获得/释放失败。 |
## VolumeEvent8+
音量改变时,应用接收的事件。
+此接口为系统接口,三方应用不支持。
+
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Volume
| 名称 | 类型 | 必填 | 说明 |
@@ -408,6 +552,65 @@ let audioRenderer = await audio.createAudioRenderer(audioRendererOptions);
| volume | number | 是 | 音量等级,可设置范围通过getMinVolume和getMaxVolume获取。 |
| updateUi | boolean | 是 | 在UI中显示音量变化。 |
+## DeviceChangeAction
+
+描述设备连接状态变化和设备信息。
+
+**系统能力:**SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 名称 | 类型 | 必填 | 说明 |
+| :---------------- | :------------------------------------------------ | :--- | :----------------- |
+| type | [DeviceChangeType](#DeviceChangeType) | 是 | 设备连接状态变化。 |
+| deviceDescriptors | [AudioDeviceDescriptors](#AudioDeviceDescriptors) | 是 | 设备信息。 |
+
+## DeviceChangeType
+
+枚举,设备连接状态变化。
+
+**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Device
+
+| 名称 | 默认值 | 描述 |
+| :--------- | :----- | :------------- |
+| CONNECT | 0 | 设备连接。 |
+| DISCONNECT | 1 | 断开设备连接。 |
+
+## AudioCapturerInfo8+
+
+描述音频采集器信息。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Core
+
+| 名称 | 类型 | 必填 | 说明 |
+| :------------ | :------------------------ | :--- | :--------------- |
+| source | [SourceType](#sourcetype) | 是 | 音源类型。 |
+| capturerFlags | number | 是 | 音频采集器标志。 |
+
+## SourceType8+
+
+枚举,音源类型。
+
+**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Core
+
+| 名称 | 默认值 | 描述 |
+| :------------------ | :----- | :------------- |
+| SOURCE_TYPE_INVALID | -1 | 无效的音频源。 |
+| SOURCE_TYPE_MIC | 0 | Mic音频源。 |
+
+## AudioScene8+
+
+枚举,音频场景。
+
+**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Communication
+
+| 名称 | 默认值 | 描述 |
+| :------------------------------------------------- | :----- | :------------- |
+| AUDIO_SCENE_DEFAULT | 0 | 默认音频场景。 |
+| AUDIO_SCENE_RINGING(系统接口,三方应用不支持) | 1 | 响铃模式。 |
+| AUDIO_SCENE_PHONE_CALL(系统接口,三方应用不支持) | 2 | 电话模式。 |
+| AUDIO_SCENE_VOICE_CHAT | 3 | 语音聊天模式。 |
+
## AudioManager
管理音频音量和音频设备。在调用AudioManager的接口前,需要先通过[getAudioManager](#audiogetaudiomanager)创建实例。
@@ -1325,12 +1528,14 @@ audioManager.isMicrophoneMute().then((value) => {
})
```
-### on('volumeChange')
+### on('volumeChange')8+
on(type: 'volumeChange', callback: Callback\): void
监听系统音量变化事件。
+此接口为系统接口,三方应用不支持。
+
**系统能力:** SystemCapability.Multimedia.Audio.Volume
**参数:**
@@ -1350,12 +1555,14 @@ audioManager.on('volumeChange', (volumeEvent) => {
})
```
-### on('ringerModeChange')
+### on('ringerModeChange')8+
on(type: 'ringerModeChange', callback: Callback\): void
监听铃声模式变化事件。
+此接口为系统接口,三方应用不支持。
+
**系统能力:** SystemCapability.Multimedia.Audio.Communication
**参数:**
@@ -1365,6 +1572,57 @@ on(type: 'ringerModeChange', callback: Callback\): void
| type | string | 是 | 事件回调类型,支持的事件为:'ringerModeChange'(铃声模式变化事件,检测到铃声模式改变时,触发该事件)。 |
| callback | Callback<[AudioRingMode](#audioringmode)> | 是 | 回调方法。 |
+### on('deviceChange')
+
+on(type: 'deviceChange', callback: Callback): void
+
+设备更改。音频设备连接状态变化。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :--------------------------------------------------- | :--- | :----------------------------------------- |
+| type | string | 是 | 订阅的事件的类型。支持事件:'deviceChange' |
+| callback | Callback<[DeviceChangeAction](#DeviceChangeAction)\> | 是 | 获取设备更新详情。 |
+
+**示例:**
+
+```
+audioManager.on('deviceChange', (deviceChanged) => {
+ console.info("device change type : " + deviceChanged.type);
+ console.info("device descriptor size : " + deviceChanged.deviceDescriptors.length);
+ console.info("device change descriptor : " + deviceChanged.deviceDescriptors[0].deviceRole);
+ console.info("device change descriptor : " + deviceChanged.deviceDescriptors[0].deviceType);
+});
+```
+
+### off('deviceChange')
+
+off(type: 'deviceChange', callback?: Callback): void
+
+取消订阅音频设备连接变化事件。
+
+本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Device
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | --------------------------------------------------- | ---- | ------------------------------------------ |
+| type | string | 是 | 订阅的事件的类型。支持事件:'deviceChange' |
+| callback | Callback<[DeviceChangeAction](#DeviceChangeAction)> | 否 | 获取设备更新详情。 |
+
+**示例:**
+
+```
+audioManager.off('deviceChange', (deviceChanged) => {
+ console.log("Should be no callback.");
+});
+```
+
### on('interrupt')
on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback\): void
@@ -1437,6 +1695,118 @@ this.audioManager.off('interrupt', interAudioInterrupt, (InterruptAction) => {
});
```
+### setAudioScene8+
+
+setAudioScene\(scene: AudioScene, callback: AsyncCallback\): void
+
+设置音频场景模式,使用callback方式异步返回结果。
+
+此接口为系统接口,三方应用不支持。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Communication
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :----------------------------------- | :--- | :------------------- |
+| scene | AudioScene | 是 | 音频场景模式。 |
+| callback | AsyncCallback | 是 | 用于返回结果的回调。 |
+
+**示例:**
+
+```
+audioManager.setAudioScene(audio.AudioScene.AUDIO_SCENE_PHONE_CALL, (err) => {
+ if (err) {
+ console.error('Failed to set the audio scene mode. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate a successful setting of the audio scene mode.');
+});
+```
+
+### setAudioScene8+
+
+setAudioScene\(scene: AudioScene\): Promise
+
+设置音频场景模式,使用Promise方式返回异步结果。
+
+此接口为系统接口,三方应用不支持。
+
+**系统能力:**: SystemCapability.Multimedia.Audio.Communication
+
+**Parameters**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :----- | :----------------------------------- | :--- | :------------- |
+| scene | AudioScene | 是 | 音频场景模式。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| :------------- | :------------------- |
+| Promise | 用于返回结果的回调。 |
+
+**示例:**
+
+```
+audioManager.setAudioScene(audio.AudioSceneMode.AUDIO_SCENE_PHONE_CALL).then(() => {
+ console.log('Promise returned to indicate a successful setting of the audio scene mode.');
+}).catch ((err) => {
+ console.log('Failed to set the audio scene mode');
+});
+```
+
+### getAudioScene8+
+
+getAudioScene\(callback: AsyncCallback\): void
+
+获取音频场景模式,使用callback方式返回异步结果。
+
+**系统能力:**SystemCapability.Multimedia.Audio.Communication
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :-------------------------------------------------- | :--- | :--------------------------- |
+| callback | AsyncCallback<AudioScene> | 是 | 用于返回音频场景模式的回调。 |
+
+**示例:**
+
+```
+audioManager.getAudioScene((err, value) => {
+ if (err) {
+ console.error('Failed to obtain the audio scene mode. ${err.message}');
+ return;
+ }
+ console.log('Callback invoked to indicate that the audio scene mode is obtained.' + value);
+});
+```
+
+
+### getAudioScene8+
+
+getAudioScene\(\): Promise
+
+获取音频场景模式,使用Promise方式返回异步结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Communication
+
+**返回值:**
+
+| 类型 | 说明 |
+| :-------------------------------------------- | :--------------------------- |
+| Promise<AudioScene> | 用于返回音频场景模式的回调。 |
+
+**示例:**
+
+```
+audioManager.getAudioScene().then((value) => {
+ console.log('Promise returned to indicate that the audio scene mode is obtained.' + value);
+}).catch ((err) => {
+ console.log('Failed to obtain the audio scene mode');
+});
+```
+
## AudioDeviceDescriptor
描述音频设备。
@@ -1486,13 +1856,21 @@ promise.then(async function (audioDeviceDescriptors) {
## AudioRenderer8+
-提供音频播放的相关接口。在调用AudioRenderer的接口前,需要先通过[createAudioRenderer](#audiocreateaudiorenderer8)创建实例。
+提供音频渲染的相关接口。在调用AudioRenderer的接口前,需要先通过[createAudioRenderer](#audiocreateaudiorenderer8)创建实例。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+### state8+
+
+只读 state: AudioState
+
+定义当前渲染器的状态。
-### 属性
+**参数:**
-| 名称 | 类型 | 可读 | 可写 | 说明 |
+| 名称 | 参数型 | 可读 | 可写 | 说明 |
| ----- | -------------------------- | ---- | ---- | ------------------ |
-| state | [AudioState](#audiostate8) | 是 | 否 | 当前播放器的状态。 |
+| state | [AudioState](#audiostate8) | 是 | 否 | 音频渲染器的状态。 |
**示例:**
@@ -1504,15 +1882,15 @@ var state = audioRenderer.state;
getRendererInfo(callback: AsyncCallback): void
-获取当前被创建的音频播放器的信息,使用callback方式异步返回结果。
+获取当前被创建的音频渲染器的信息,使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
**参数:**
-| 参数名 | 类型 | 必填 | 说明 |
-| :------- | :------------------------------------------------------- | :--- | :------------------------- |
-| callback | AsyncCallback<[AudioRendererInfo](#audiorendererinfo8)\> | 是 | 回调返回音频播放器的信息。 |
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :------------------------------------------------------- | :--- | :--------------------- |
+| callback | AsyncCallback<[AudioRendererInfo](#audiorendererinfo8)\> | 是 | 返回音频渲染器的信息。 |
**示例:**
@@ -1529,7 +1907,7 @@ audioRenderer.getRendererInfo((err, rendererInfo)=>{
getRendererInfo(): Promise
-获取当前被创建的音频播放器的信息,使用Promise方式异步返回结果。
+获取当前被创建的音频渲染器的信息,使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1537,7 +1915,7 @@ getRendererInfo(): Promise
| 类型 | 说明 |
| -------------------------------------------------- | ------------------------------- |
-| Promise<[AudioRendererInfo](#audiorendererinfo8)\> | Promise用于返回音频播放器信息。 |
+| Promise<[AudioRendererInfo](#audiorendererinfo8)\> | Promise用于返回音频渲染器信息。 |
**示例:**
@@ -1545,9 +1923,9 @@ getRendererInfo(): Promise
let streamInfo = await audioRenderer.getStreamInfo();
console.log('Renderer GetStreamInfo:');
console.log('Renderer sampling rate:' + streamInfo.samplingRate);
-console.log('Renderer channel:' + streamInfo.AudioChannel);
-console.log('Renderer format:' + streamInfo.AudioSampleFormat);
-console.log('Renderer encoding type:' + streamInfo.AudioEncodingType);
+console.log('Renderer channel:' + streamInfo.channels);
+console.log('Renderer format:' + streamInfo.sampleFormat);
+console.log('Renderer encoding type:' + streamInfo.encodingType);
```
### getStreamInfo8+
@@ -1570,9 +1948,9 @@ getStreamInfo(callback: AsyncCallback): void
audioRenderer.getStreamInfo((err, streamInfo)=>{
console.log('Renderer GetStreamInfo:');
console.log('Renderer sampling rate:' + streamInfo.samplingRate);
- console.log('Renderer channel:' + streamInfo.AudioChannel);
- console.log('Renderer format:' + streamInfo.AudioSampleFormat);
- console.log('Renderer encoding type:' + streamInfo.AudioEncodingType);
+ console.log('Renderer channel:' + streamInfo.channels);
+ console.log('Renderer format:' + streamInfo.sampleFormat);
+ console.log('Renderer encoding type:' + streamInfo.encodingType);
})
```
@@ -1605,7 +1983,7 @@ console.log('Renderer encoding type:' + streamInfo.AudioEncodingType);
start(callback: AsyncCallback): void
-启动音频播放器。使用callback方式异步返回结果。
+启动音频渲染器。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1631,7 +2009,7 @@ audioRenderer.start((err)=>{
start(): Promise
-启动音频播放器。使用Promise方式异步返回结果。
+启动音频渲染器。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1651,7 +2029,7 @@ await audioRenderer.start();
pause(callback: AsyncCallback\): void
-暂停音频播放器。使用callback方式异步返回结果。
+暂停渲染。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1677,7 +2055,7 @@ audioRenderer.pause((err)=>{
pause(): Promise\
-暂停音频播放器。使用Promise方式异步返回结果。
+暂停渲染。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1697,7 +2075,7 @@ await audioRenderer.pause();
drain(callback: AsyncCallback\): void
-检查播放缓冲区是否已被耗尽。使用callback方式异步返回结果。
+检查缓冲区是否已被耗尽。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1723,7 +2101,7 @@ audioRenderer.drain((err)=>{
drain(): Promise\
-检查播放缓冲区是否已被耗尽。使用Promise方式异步返回结果。
+检查缓冲区是否已被耗尽。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1743,7 +2121,7 @@ await audioRenderer.drain();
stop(callback: AsyncCallback\): void
-停止播放。使用callback方式异步返回结果。
+停止渲染。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1769,7 +2147,7 @@ audioRenderer.stop((err)=>{
stop(): Promise\
-停止播放。使用Promise方式异步返回结果。
+停止渲染。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1789,7 +2167,7 @@ await audioRenderer.stop();
release(callback: AsyncCallback\): void
-释放音频播放器。使用callback方式异步返回结果。
+释放音频渲染器。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1893,7 +2271,7 @@ if (writtenbytes < 0) {
getAudioTime(callback: AsyncCallback\): void
-获取时间戳。使用callback方式异步返回结果。
+获取时间戳(从 1970 年 1 月 1 日开始)。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1915,7 +2293,7 @@ audioRenderer.getAudioTime((err, timestamp)=>{
getAudioTime(): Promise\
-获取时间戳。使用Promise方式异步返回结果。
+获取时间戳(从 1970 年 1 月 1 日开始)。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1936,7 +2314,7 @@ console.log('Current timestamp: ' + timestamp);
getBufferSize(callback: AsyncCallback\): void
-获取音频播放器的最小缓冲区大小。使用callback方式异步返回结果。
+获取音频渲染器的最小缓冲区大小。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1962,7 +2340,7 @@ ss.readSync(buf);
getBufferSize(): Promise\
-获取音频播放器的最小缓冲区大小。使用Promise方式异步返回结果。
+获取音频渲染器的最小缓冲区大小。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1984,7 +2362,7 @@ ss.readSync(buf);
setRenderRate(rate: AudioRendererRate, callback: AsyncCallback\): void
-设置音频播放速率。使用callback方式异步返回结果。
+设置音频渲染速率。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -1992,7 +2370,7 @@ setRenderRate(rate: AudioRendererRate, callback: AsyncCallback\): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------------ |
-| rate | [AudioRendererRate](#audiorendererrate8) | 是 | 播放的速率。 |
+| rate | [AudioRendererRate](#audiorendererrate8) | 是 | 渲染的速率。 |
| callback | AsyncCallback\ | 是 | 用于返回执行结果的回调。 |
**示例:**
@@ -2011,7 +2389,7 @@ audioRenderer.setRenderRate(audio.AudioRendererRate.RENDER_RATE_NORMAL, (err)=>
setRenderRate(rate: AudioRendererRate): Promise\
-设置音频播放速率。使用Promise方式异步返回结果。
+设置音频渲染速率。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -2019,7 +2397,7 @@ setRenderRate(rate: AudioRendererRate): Promise\
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------- | ---- | ------------ |
-| rate | [AudioRendererRate](#audiorendererrate8) | 是 | 播放的速率。 |
+| rate | [AudioRendererRate](#audiorendererrate8) | 是 | 渲染的速率。 |
**返回值:**
@@ -2037,7 +2415,7 @@ await audioRenderer.setRenderRate(audio.AudioRendererRate.RENDER_RATE_NORMAL);
getRenderRate(callback: AsyncCallback\): void
-获取当前播放速率。使用callback方式异步返回结果。
+获取当前渲染速率。使用callback方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -2045,7 +2423,7 @@ getRenderRate(callback: AsyncCallback\): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ------------------ |
-| callback | AsyncCallback<[AudioRendererRate](#audiorendererrate8)> | 是 | 回调返回播放速率。 |
+| callback | AsyncCallback<[AudioRendererRate](#audiorendererrate8)> | 是 | 回调返回渲染速率。 |
**示例:**
@@ -2059,7 +2437,7 @@ audioRenderer.getRenderRate((err, renderrate)=>{
getRenderRate(): Promise\
-获取当前播放速率。使用Promise方式异步返回结果。
+获取当前渲染速率。使用Promise方式异步返回结果。
**系统能力**: SystemCapability.Multimedia.Audio.Renderer
@@ -2067,7 +2445,7 @@ getRenderRate(): Promise\
| 类型 | 说明 |
| ------------------------------------------------- | ------------------------- |
-| Promise<[AudioRendererRate](#audiorendererrate8)> | Promise回调返回播放速率。 |
+| Promise<[AudioRendererRate](#audiorendererrate8)> | Promise回调返回渲染速率。 |
**示例:**
@@ -2076,7 +2454,7 @@ let renderRate = await audioRenderer.getRenderRate();
console.log('getRenderRate: ' + renderrate);
```
-### on('interrupt')8+
+### on('interrupt')9+
on(type: 'interrupt', callback: Callback\): void
@@ -2089,7 +2467,7 @@ on(type: 'interrupt', callback: Callback\): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 事件回调类型,支持的事件为:'interrupt'(中断事件被触发,音频播放被中断。) |
-| callback | Callback<[InterruptEvent](#interruptevent8)> | 是 | 被监听的中断事件的回调。 |
+| callback | Callback<[InterruptEvent](#interruptevent9)> | 是 | 被监听的中断事件的回调。 |
**示例:**
@@ -2121,5 +2499,693 @@ audioRenderer.on('interrupt', (interruptEvent) => {
})
```
+### on('markReach')8+
+
+on(type: 'markReach', frame: number, callback: (position: number) => {}): void
+
+订阅到达标记的事件。 当渲染的帧数达到 frame 参数的值时,回调被调用。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :----------------------- | :--- | :---------------------------------------- |
+| type | string | 是 | 事件回调类型,支持的事件为:'markReach'。 |
+| frame | number | 是 | 触发事件的帧数。 该值必须大于 0。 |
+| callback | (position: number) => {} | 是 | 触发事件时调用的回调。 |
+
+**示例:**
+
+```
+audioRenderer.on('markReach', 1000, (position) => {
+ if (position == "1000") {
+ console.log('ON Triggered successfully');
+ }
+});
+```
+
+
+### off('markReach') 8+
+
+off(type: 'markReach'): void
+
+取消订阅标记事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :----- | :----- | :--- | :------------------------------------------------ |
+| type | string | 是 | 要取消订阅事件的类型。支持的事件为:'markReach'。 |
+
+**示例:**
+
+```
+audioRenderer.off('markReach');
+```
+
+### on('periodReach') 8+
+on(type: "periodReach", frame: number, callback: (position: number) => {}): void
+订阅到达标记的事件。 当渲染的帧数达到 frame 参数的值时,回调被循环调用。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :----------------------- | :--- | :------------------------------------------ |
+| type | string | 是 | 事件回调类型,支持的事件为:'periodReach'。 |
+| frame | number | 是 | 触发事件的帧数。 该值必须大于 0。 |
+| callback | (position: number) => {} | 是 | 触发事件时调用的回调。 |
+
+**示例:**
+
+```
+audioRenderer.on('periodReach', 1000, (position) => {
+ if (position == "1000") {
+ console.log('ON Triggered successfully');
+ }
+});
+```
+
+### off('periodReach') 8+
+
+off(type: 'periodReach'): void
+
+取消订阅标记事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :----- | :----- | :--- | :-------------------------------------------------- |
+| type | string | 是 | 要取消订阅事件的类型。支持的事件为:'periodReach'。 |
+
+**示例:**
+
+```
+audioRenderer.off('periodReach')
+```
+
+### on('stateChange') 8+
+
+on(type: 'stateChange', callback: Callback): void
+
+订阅监听状态变化。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Renderer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :------------------------- | :--- | :------------------------------------------ |
+| type | string | 是 | 事件回调类型,支持的事件为:'stateChange'。 |
+| callback | [AudioState](#AudioState8) | 是 | 返回监听的状态。 |
+
+**示例:**
+
+```
+audioRenderer.on('stateChange', (state) => {
+ if (state == 1) {
+ console.log("audio renderer state is: STATE_PREPARED");
+ }
+ if (state == 2) {
+ console.log("audio renderer state is: STATE_RUNNING");
+ }
+});
+```
+
+## AudioCapturer8+
+
+提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过[createAudioCapturer](#audiocreateaudiocapturer8)创建实例。
+
+### state8+
+
+只读 state: AudioState
+
+定义当前采集器状态。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+| 名称 | 参数型 | 可读 | 可写 | 说明 |
+| :---- | :------------------------- | :--- | :--- | :--------------- |
+| state | [AudioState](#audiostate8) | Yes | No | 音频采集器状态。 |
+
+**示例:**
+
+```
+var state = audioCapturer.state;
+```
+
+### getCapturerInfo8+
+
+getCapturerInfo(callback: AsyncCallback): void
+
+获取采集器信息。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :-------------------------------- | :--- | :----------------------------------- |
+| callback | AsyncCallback | 是 | 使用callback方式异步返回采集器信息。 |
+
+**示例:**
+
+```
+audioCapturer.getCapturerInfo((err, capturerInfo)=>{
+ if (err) {
+ console.error('Failed to get capture info');
+ } else {
+ console.log('Capturer getCapturerInfo:');
+ console.log('Capturer source:' + capturerInfo.source);
+ console.log('Capturer flags:' + capturerInfo.capturerFlags);
+ }
+});
+```
+
+
+### getCapturerInfo8+
+
+getCapturerInfo(): Promise
+
+获取采集器信息。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :------------------------------------------------ | :---------------------------------- |
+| Promise<[AudioCapturerInfo](#audiocapturerinfo)\> | 使用Promise方式异步返回采集器信息。 |
+
+**示例:**
+
+```
+audioCapturer.getCapturerInfo().then((capturerInfo) => {
+ console.log('Capturer getCapturerInfo:');
+ console.log('Capturer source:' + capturerInfo.source);
+ console.log('Capturer flags:' + capturerInfo.capturerFlags);
+}).catch ((err) => {
+ console.log("Failed to get capturer info");
+});
+```
+
+### getStreamInfo8+
+
+getStreamInfo(callback: AsyncCallback): void
+
+获取采集器流信息。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :-------------------------------------------------------- | :--- | :------------------------------- |
+| callback | AsyncCallback<[AudioStreamInfo](#AudioRendererOptions8)\> | 是 | 使用callback方式异步返回流信息。 |
+
+**示例:**
+
+```
+audioCapturer.start((err)=>{
+ if (err) {
+ console.error('Failed to get stream info');
+ } else {
+ console.log('Capturer GetStreamInfo:');
+ console.log('Capturer sampling rate:' + streamInfo.samplingRate);
+ console.log('Capturer channel:' + streamInfo.channels);
+ console.log('Capturer format:' + streamInfo.sampleFormat);
+ console.log('Capturer encoding type:' + streamInfo.encodingType);
+ }
+});
+```
+
+### getStreamInfo8+
+
+getStreamInfo(): Promise
+
+获取采集器流信息。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :-------------------------------------------------- | :------------------------------ |
+| Promise<[AudioStreamInfo](#AudioRendererOptions8)\> | 使用Promise方式异步返回流信息。 |
+
+**示例:**
+
+```
+audioCapturer.getStreamInfo().then((streamInfo) => {
+ console.log('Capturer GetStreamInfo:');
+ console.log('Capturer sampling rate:' + streamInfo.samplingRate);
+ console.log('Capturer channel:' + streamInfo.channels);
+ console.log('Capturer format:' + streamInfo.sampleFormat);
+ console.log('Capturer encoding type:' + streamInfo.encodingType);
+}).catch ((err) => {
+ console.log("Failed to get stream info");
+});
+```
+
+### start8+
+
+start(callback: AsyncCallback): void
+
+启动音频采集器。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :------------------- | :--- | :----------------------------- |
+| callback | AsyncCallback | 是 | 使用callback方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.start((err)=>{
+ if (err) {
+ console.error('Capturer start failed.');
+ } else {
+ console.info('Capturer start success.');
+ }
+});
+```
+
+
+### start8+
+
+start(): Promise
+
+启动音频采集器。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :------------- | :---------------------------- |
+| Promise | 使用Promise方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.start().then(() => {
+ console.log("capturer start success");
+}).catch ((err) => {
+ console.log("Failed to start capturer");
+});
+```
+
+### stop8+
+
+stop(callback: AsyncCallback): void
+
+停止采集。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :------------------- | :--- | :----------------------------- |
+| callback | AsyncCallback | 是 | 使用callback方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.stop((err)=>{
+ if (err) {
+ console.error('Capturer stop failed');
+ } else {
+ console.log('Capturer stopped.');
+ }
+});
+```
+
+
+### stop8+
+
+stop(): Promise
+
+停止采集。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :------------- | :---------------------------- |
+| Promise | 使用Promise方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.stop().then(() => {
+ console.log("capturer stop success");
+}).catch ((err) => {
+ console.log("Failed to stop capturer");
+});
+```
+
+### release8+
+
+release(callback: AsyncCallback): void
+
+释放采集器。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :------------------- | :--- | :---------------------------------- |
+| callback | AsyncCallback | 是 | Callback used to return the result. |
+
+**示例:**
+
+```
+audioCapturer.release((err)=>{
+ if (err) {
+ console.error('capturer release failed');
+ } else {
+ console.log('capturer released.');
+ }
+});
+```
+
+
+### release8+
+
+release(): Promise
+
+释放采集器。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :------------- | :---------------------------- |
+| Promise | 使用Promise方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.release().then(() => {
+ console.log("capturer release success");
+}).catch ((err) => {
+ console.log("Failed to release capturer");
+});
+```
+
+
+### read8+
+
+read(size: number, isBlockingRead: boolean, callback: AsyncCallback): void
+
+读入缓冲区。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------------- | :-------------------------- | :--- | :------------------------------- |
+| size | number | 是 | 读入的字节数。 |
+| isBlockingRead | boolean | 是 | 是否阻塞读操作。 |
+| callback | AsyncCallback | 是 | 使用callback方式异步返回缓冲区。 |
+
+**示例:**
+
+```
+audioCapturer.read(bufferSize, true, async(err, buffer) => {
+ if (!err) {
+ console.log("Success in reading the buffer data");
+ var number = fileio.writeSync(fd, buffer);
+ }
+};
+```
+
+
+### read8+
+
+read(size: number, isBlockingRead: boolean): Promise
+
+读入缓冲区。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------------- | :------ | :--- | :--------------- |
+| size | number | 是 | 读入的字节数。 |
+| isBlockingRead | boolean | 是 | 是否阻塞读操作。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| :-------------------- | :----------------------------------------------------- |
+| Promise | 如果操作成功,返回读取的缓冲区数据;否则返回错误代码。 |
+
+**示例:**
+
+```
+audioCapturer.read(size, true).then((buffer) => {
+ console.log("Success in reading the buffer data");
+ var number = fileio.writeSync(fd, buffer);
+}).catch ((err) => {
+ console.log("Failed to read data!");
+});
+```
+
+
+### getAudioTime8+
+
+getAudioTime(callback: AsyncCallback): void
+
+获取时间戳(从1970年1月1日开始),单位为纳秒。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :--------------------- | :--- | :----------------------------- |
+| callback | AsyncCallback | 是 | 使用callback方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.getAudioTime((err, timestamp)=>{
+ console.log('Current timestamp: ' + timestamp);
+});
+```
+
+
+### getAudioTime8+
+
+getAudioTime(): Promise
+
+获取时间戳(从1970年1月1日开始),单位为纳秒。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :--------------- | :---------------------------- |
+| Promise | 使用Promise方式异步返回结果。 |
+
+**示例:**
+
+```
+audioCapturer.getAudioTime().then((audioTime) => {
+ console.log("Success in getting the audio time");
+}).catch ((err) => {
+ console.log("Failed to get the audio time");
+});
+```
+
+
+### getBufferSize8+
+
+getBufferSize(callback: AsyncCallback): void
+
+获取采集器合理的最小缓冲区大小。使用callback方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :--------------------- | :--- | :----------------------------------- |
+| callback | AsyncCallback | 是 | 使用callback方式异步返回缓冲区大小。 |
+
+**示例:**
+
+```
+audioCapturer.getBufferSize((err, bufferSize)=>{
+ if (!err) {
+ console.log('BufferSize : ' + bufferSize);
+ var buffer = await audioCapturer.read(bufferSize, true);
+ }
+});
+```
+
+
+### getBufferSize8+
+
+getBufferSize(): Promise
+
+获取采集器合理的最小缓冲区大小。使用Promise方式异步返回结果。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**返回值:**
+
+| 类型 | 说明 |
+| :--------------- | :---------------------------------- |
+| Promise | 使用Promise方式异步返回缓冲区大小。 |
+
+**示例:**
+
+```
+audioCapturer.getBufferSize().then((bufferSize) => {
+ console.log("Success in getting the buffer size");
+ var buffer = await audioCapturer.read(bufferSize, true);
+}).catch ((err) => {
+ console.log("Failed to get the buffer size");
+});
+```
+
+
+### on('markReach')8+
+
+on(type: 'markReach', frame: number, callback: (position: number) => {}): void
+
+订阅标记到达的事件。 当采集的帧数达到 frame 参数的值时,回调被触发。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :---------------------- | :--- | :----------------------------------------- |
+| type | string | 是 | 事件回调类型,支持的事件为:'markReach'。 |
+| frame | number | 是 | 触发事件的帧数。 该值必须大于0。 |
+| callback | position: number) => {} | 是 | 使用callback方式异步返回被触发事件的回调。 |
+
+**示例:**
+
+```
+audioCapturer.on('markReach', 1000, (position) => {
+ if (position == "1000") {
+ console.log('ON Triggered successfully');
+ }
+});
+```
+
+### off('markReach')8+
+
+off(type: 'markReach'): void
+
+取消订阅标记到达的事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :----- | :----- | :--- | :-------------------------------------------- |
+| type | string | 是 | 取消事件回调类型,支持的事件为:'markReach'。 |
+
+**示例:**
+
+```
+audioCapturer.off('markReach');
+```
+
+### on('periodReach')8+
+
+on(type: "periodReach", frame: number, callback: (position: number) => {}): void
+
+订阅到达标记的事件。 当采集的帧数达到 frame 参数的值时,回调被循环调用。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :----------------------- | :--- | :------------------------------------------ |
+| type | string | 是 | 事件回调类型,支持的事件为:'periodReach'。 |
+| frame | number | 是 | 触发事件的帧数。 该值必须大于0。 |
+| callback | (position: number) => {} | 是 | 使用callback方式异步返回被触发事件的回调 |
+
+**示例:**
+
+```
+audioCapturer.on('periodReach', 1000, (position) => {
+ if (position == "1000") {
+ console.log('ON Triggered successfully');
+ }
+});
+```
+
+### off('periodReach')8+
+
+off(type: 'periodReach'): void
+
+取消订阅标记到达的事件。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :----- | :----- | :--- | :---------------------------------------------- |
+| type | string | Yes | 取消事件回调类型,支持的事件为:'periodReach'。 |
+
+**示例:**
+
+```
+audioCapturer.off('periodReach')
+```
+
+### on('stateChange') 8+
+
+on(type: 'stateChange', callback: Callback): void
+
+订阅监听状态变化。
+
+**系统能力:** SystemCapability.Multimedia.Audio.Capturer
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| :------- | :------------------------- | :--- | :------------------------------------------ |
+| type | string | 是 | 事件回调类型,支持的事件为:'stateChange'。 |
+| callback | [AudioState](#AudioState8) | 是 | 返回监听的状态。 |
+
+**示例:**
+
+```
+audioCapturer.on('stateChange', (state) => {
+ if (state == 1) {
+ console.log("audio capturer state is: STATE_PREPARED");
+ }
+ if (state == 2) {
+ console.log("audio capturer state is: STATE_RUNNING");
+ }
+});
+```