
HarmonyOS API:@ohos.multimedia.audio (音频管理)
版本:v3.1 Beta
@ohos.multimedia.audio (音频管理)
AudioDeviceDescriptors
设备属性数组类型,为AudioDeviceDescriptor的数组,只读。
AudioDeviceDescriptor
描述音频设备。
系统能力: SystemCapability.Multimedia.Audio.Device
名称 | 类型 | 可读 | 可写 | 说明 |
deviceRole | 是 | 否 | 设备角色。 | |
deviceType | 是 | 否 | 设备类型。 |
示例:
AudioRenderer8+
提供音频渲染的相关接口。在调用AudioRenderer的接口前,需要先通过createAudioRenderer创建实例。
属性
系统能力: SystemCapability.Multimedia.Audio.Renderer
名称 | 类型 | 可读 | 可写 | 说明 |
state8+ | 是 | 否 | 音频渲染器的状态。 |
示例:
getRendererInfo8+
getRendererInfo(callback: AsyncCallback<AudioRendererInfo>): void
获取当前被创建的音频渲染器的信息,使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<AudioRendererInfo> | 是 | 返回音频渲染器的信息。 |
示例:
getRendererInfo8+
getRendererInfo(): Promise<AudioRendererInfo>
获取当前被创建的音频渲染器的信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<AudioRendererInfo> | Promise用于返回音频渲染器信息。 |
示例:
getStreamInfo8+
getStreamInfo(callback: AsyncCallback<AudioStreamInfo>): void
获取音频流信息,使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<AudioStreamInfo> | 是 | 回调返回音频流信息。 |
示例:
getStreamInfo8+
getStreamInfo(): Promise<AudioStreamInfo>
获取音频流信息,使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<AudioStreamInfo> | Promise返回音频流信息. |
示例:
getAudioStreamId9+
getAudioStreamId(callback: AsyncCallback<number>): void
获取音频流id,使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<number> | 是 | 回调返回音频流id。 |
示例:
getAudioStreamId9+
getAudioStreamId(): Promise<number>
获取音频流id,使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<number> | Promise返回音频流id。 |
示例:
start8+
start(callback: AsyncCallback<void>): void
启动音频渲染器。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 回调函数。 |
示例:
start8+
start(): Promise<void>
启动音频渲染器。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<void> | Promise方式异步返回结果。 |
示例:
pause8+
pause(callback: AsyncCallback<void>): void
暂停渲染。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 返回回调的结果。 |
示例:
pause8+
pause(): Promise<void>
暂停渲染。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<void> | Promise方式异步返回结果。 |
示例:
drain8+
drain(callback: AsyncCallback<void>): void
检查缓冲区是否已被耗尽。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 返回回调的结果。 |
示例:
drain8+
drain(): Promise<void>
检查缓冲区是否已被耗尽。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<void> | Promise方式异步返回结果。 |
示例:
stop8+
stop(callback: AsyncCallback<void>): void
停止渲染。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 返回回调的结果。 |
示例:
stop8+
stop(): Promise<void>
停止渲染。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<void> | Promise方式异步返回结果。 |
示例:
release8+
release(callback: AsyncCallback<void>): void
释放音频渲染器。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 返回回调的结果。 |
示例:
release8+
release(): Promise<void>
释放渲染器。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<void> | Promise方式异步返回结果。 |
示例:
write8+
write(buffer: ArrayBuffer, callback: AsyncCallback<number>): void
写入缓冲区。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
buffer | ArrayBuffer | 是 | 要写入缓冲区的数据。 |
callback | AsyncCallback<number> | 是 | 回调如果成功,返回写入的字节数,否则返回errorcode。 |
示例:
write8+
write(buffer: ArrayBuffer): Promise<number>
写入缓冲区。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<number> | Promise返回结果,如果成功,返回写入的字节数,否则返回errorcode。 |
示例:
getAudioTime8+
getAudioTime(callback: AsyncCallback<number>): void
获取时间戳(从 1970 年 1 月 1 日开始)。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<number> | 是 | 回调返回时间戳。 |
示例:
getAudioTime8+
getAudioTime(): Promise<number>
获取时间戳(从 1970 年 1 月 1 日开始)。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 描述 |
Promise<number> | Promise回调返回时间戳。 |
示例:
getBufferSize8+
getBufferSize(callback: AsyncCallback<number>): void
获取音频渲染器的最小缓冲区大小。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<number> | 是 | 回调返回缓冲区大小。 |
示例:
getBufferSize8+
getBufferSize(): Promise<number>
获取音频渲染器的最小缓冲区大小。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<number> | promise回调返回缓冲区大小。 |
示例:
setRenderRate8+
setRenderRate(rate: AudioRendererRate, callback: AsyncCallback<void>): void
设置音频渲染速率。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
rate | 是 | 渲染的速率。 | |
callback | AsyncCallback<void> | 是 | 用于返回执行结果的回调。 |
示例:
setRenderRate8+
setRenderRate(rate: AudioRendererRate): Promise<void>
设置音频渲染速率。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
rate | 是 | 渲染的速率。 |
返回值:
类型 | 说明 |
Promise<void> | Promise用于返回执行结果。 |
示例:
getRenderRate8+
getRenderRate(callback: AsyncCallback<AudioRendererRate>): void
获取当前渲染速率。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<AudioRendererRate> | 是 | 回调返回渲染速率。 |
示例:
getRenderRate8+
getRenderRate(): Promise<AudioRendererRate>
获取当前渲染速率。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
返回值:
类型 | 说明 |
Promise<AudioRendererRate> | Promise回调返回渲染速率。 |
示例:
setInterruptMode9+
setInterruptMode(mode: InterruptMode): Promise<void>
设置应用的焦点模型。使用Promise异步回调。
系统能力: SystemCapability.Multimedia.Audio.Interrupt
参数:
参数名 | 类型 | 必填 | 说明 |
mode | 是 | 焦点模型。 |
返回值:
类型 | 说明 |
Promise<void> | 以Promise对象返回结果,设置成功时返回undefined,否则返回error。 |
示例:
setInterruptMode9+
setInterruptMode(mode: InterruptMode, callback: AsyncCallback<void>): void
设置应用的焦点模型。使用Callback回调返回执行结果。
系统能力: SystemCapability.Multimedia.Audio.Interrupt
参数:
参数名 | 类型 | 必填 | 说明 |
mode | 是 | 焦点模型。 | |
callback | AsyncCallback<void> | 是 | 回调返回执行结果。 |
示例:
setVolume9+
setVolume(volume: number): Promise<void>
设置应用的音量。使用Promise异步回调。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
volume | number | 是 | 音量值范围为0.0-1.0。 |
返回值:
类型 | 说明 |
Promise<void> | 以Promise对象返回结果,设置成功时返回undefined,否则返回error。 |
示例:
setVolume9+
setVolume(volume: number, callback: AsyncCallback<void>): void
设置应用的音量。使用Callback回调返回执行结果。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
volume | number | 是 | 音量值范围为0.0-1.0。 |
callback | AsyncCallback<void> | 是 | 回调返回执行结果。 |
示例:
on('stateChange') 8+
on(type: 'stateChange', callback: Callback<AudioState>): void
订阅监听状态变化。
系统能力: SystemCapability.Multimedia.Audio.Renderer
参数:
参数名 | 类型 | 必填 | 说明 |
type | string | 是 | 事件回调类型,支持的事件为:'stateChange'。 |
callback | Callback<AudioState> | 是 | 返回监听的状态。 |
示例:
AudioCapturer8+
提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过createAudioCapturer创建实例。
属性
系统能力: SystemCapability.Multimedia.Audio.Capturer
名称 | 类型 | 可读 | 可写 | 说明 |
state8+ | 是 | 否 | 音频采集器状态。 |
示例:
getCapturerInfo8+
getCapturerInfo(callback: AsyncCallback<AudioCapturerInfo>): void
获取采集器信息。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<AudioCapturerInfo> | 是 | 使用callback方式异步返回采集器信息。 |
示例:
getCapturerInfo8+
getCapturerInfo(): Promise<AudioCapturerInfo>
获取采集器信息。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<AudioCapturerInfo> | 使用Promise方式异步返回采集器信息。 |
示例:
getStreamInfo8+
getStreamInfo(callback: AsyncCallback<AudioStreamInfo>): void
获取采集器流信息。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<AudioStreamInfo> | 是 | 使用callback方式异步返回流信息。 |
示例:
getStreamInfo8+
getStreamInfo(): Promise<AudioStreamInfo>
获取采集器流信息。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<AudioStreamInfo> | 使用Promise方式异步返回流信息。 |
示例:
getAudioStreamId9+
getAudioStreamId(callback: AsyncCallback<number>): void
获取音频流id,使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<number> | 是 | 回调返回音频流id。 |
示例:
getAudioStreamId9+
getAudioStreamId(): Promise<number>
获取音频流id,使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<number> | Promise返回音频流id。 |
示例:
start8+
start(callback: AsyncCallback<void>): void
启动音频采集器。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 使用callback方式异步返回结果。 |
示例:
start8+
start(): Promise<void>
启动音频采集器。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<void> | 使用Promise方式异步返回结果。 |
示例:
stop8+
stop(callback: AsyncCallback<void>): void
停止采集。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 使用callback方式异步返回结果。 |
示例:
stop8+
stop(): Promise<void>
停止采集。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<void> | 使用Promise方式异步返回结果。 |
示例:
release8+
release(callback: AsyncCallback<void>): void
释放采集器。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<void> | 是 | 使用callback方式异步返回结果。 |
示例:
release8+
release(): Promise<void>
释放采集器。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<void> | 使用Promise方式异步返回结果。 |
示例:
read8+
read(size: number, isBlockingRead: boolean, callback: AsyncCallback<ArrayBuffer>): void
读入缓冲区。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
size | number | 是 | 读入的字节数。 |
isBlockingRead | boolean | 是 | 是否阻塞读操作。 |
callback | AsyncCallback<ArrayBuffer> | 是 | 使用callback方式异步返回缓冲区。 |
示例:
read8+
read(size: number, isBlockingRead: boolean): Promise<ArrayBuffer>
读入缓冲区。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
size | number | 是 | 读入的字节数。 |
isBlockingRead | boolean | 是 | 是否阻塞读操作。 |
返回值:
类型 | 说明 |
Promise<ArrayBuffer> | 如果操作成功,返回读取的缓冲区数据;否则返回错误代码。 |
示例:
getAudioTime8+
getAudioTime(callback: AsyncCallback<number>): void
获取时间戳(从1970年1月1日开始),单位为纳秒。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<number> | 是 | 使用callback方式异步返回结果。 |
示例:
getAudioTime8+
getAudioTime(): Promise<number>
获取时间戳(从1970年1月1日开始),单位为纳秒。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<number> | 使用Promise方式异步返回结果。 |
示例:
getBufferSize8+
getBufferSize(callback: AsyncCallback<number>): void
获取采集器合理的最小缓冲区大小。使用callback方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
callback | AsyncCallback<number> | 是 | 使用callback方式异步返回缓冲区大小。 |
示例:
getBufferSize8+
getBufferSize(): Promise<number>
获取采集器合理的最小缓冲区大小。使用Promise方式异步返回结果。
系统能力: SystemCapability.Multimedia.Audio.Capturer
返回值:
类型 | 说明 |
Promise<number> | 使用Promise方式异步返回缓冲区大小。 |
示例:
on('stateChange') 8+
on(type: 'stateChange', callback: Callback<AudioState>): void
订阅监听状态变化。
系统能力: SystemCapability.Multimedia.Audio.Capturer
参数:
参数名 | 类型 | 必填 | 说明 |
type | string | 是 | 事件回调类型,支持的事件为:'stateChange'。 |
callback | Callback<AudioState> | 是 | 返回监听的状态。 |
示例:
ActiveDeviceType
枚举,活跃设备类型。
系统能力: SystemCapability.Multimedia.Audio.Device
名称 | 值 | 说明 |
SPEAKER | 2 | 扬声器。 |
BLUETOOTH_SCO | 7 | 蓝牙设备SCO(Synchronous Connection Oriented)连接。 |
InterruptActionType(deprecated)
枚举,中断事件返回类型。
说明
从 API version 7 开始支持,从 API version 9 开始废弃。
系统能力: SystemCapability.Multimedia.Audio.Renderer
名称 | 值 | 说明 |
TYPE_ACTIVATED | 0 | 表示触发焦点事件。 |
TYPE_INTERRUPT | 1 | 表示音频打断事件。 |
AudioInterrupt(deprecated)
音频监听事件传入的参数。
说明
从 API version 7 开始支持,从 API version 9 开始废弃。
系统能力: SystemCapability.Multimedia.Audio.Renderer
名称 | 类型 | 必填 | 说明 |
streamUsage | 是 | 音频流使用类型。 | |
contentType | 是 | 音频打断媒体类型。 | |
pauseWhenDucked | boolean | 是 | 音频打断时是否可以暂停音频播放(true表示音频播放可以在音频打断期间暂停,false表示相反)。 |
InterruptAction(deprecated)
音频打断/获取焦点事件的回调方法。
说明
从 API version 7 开始支持,从 API version 9 开始废弃。
系统能力: SystemCapability.Multimedia.Audio.Renderer
名称 | 类型 | 必填 | 说明 |
actionType | 是 | 事件返回类型。TYPE_ACTIVATED为焦点触发事件,TYPE_INTERRUPT为音频打断事件。 | |
type | 否 | 打断事件类型。 | |
hint | 否 | 打断事件提示。 | |
activated | boolean | 否 | 获得/释放焦点。true表示焦点获取/释放成功,false表示焦点获得/释放失败。 |
