IAudioAdapter

概述

AudioAdapter音频适配器接口。

package ohos.hdi.audio.v1_0;

提供音频适配器(声卡)对外支持的驱动能力,包括初始化端口、创建放音、创建录音、获取端口能力集等。

参见

IAudioRender

IAudioCapture

起始版本: 4.0

相关模块:HdiAudio

汇总

Public 成员函数

名称 描述
InitAllPorts () 初始化一个音频适配器所有的端口驱动。 在音频服务中,调用其他驱动接口前需要先调用该接口检查端口是否已经初始化完成,如果端口没有初始化完成, 则需要等待一段时间(例如100ms)后重新进行检查,直到端口初始化完成后再继续操作。
CreateRender ([in] struct AudioDeviceDescriptor desc, [in] struct AudioSampleAttributes attrs, [out] IAudioRender render, [out] unsigned int renderId) 创建一个音频播放接口的对象。
DestroyRender ([in] unsigned int renderId) 销毁一个音频播放接口的对象。
CreateCapture ([in] struct AudioDeviceDescriptor desc, [in] struct AudioSampleAttributes attrs, [out] IAudioCapture capture, [out] unsigned int captureId) 创建一个音频录音接口的对象。
DestroyCapture ([in] unsigned int captureId) 销毁一个音频录音接口的对象。
GetPortCapability ([in] struct AudioPort port, [out] struct AudioPortCapability capability) 获取一个音频适配器的端口驱动的能力集。
SetPassthroughMode ([in] struct AudioPort port, [in] enum AudioPortPassthroughMode mode) 设置音频端口驱动的数据透传模式。
GetPassthroughMode ([in] struct AudioPort port, [out] enum AudioPortPassthroughMode mode) 获取音频端口驱动的数据透传模式。
GetDeviceStatus ([out] struct AudioDeviceStatus status) 获取一个音频适配器的设备状态。
UpdateAudioRoute ([in] struct AudioRoute route, [out] int routeHandle) 更新音频路由。
ReleaseAudioRoute ([in] int routeHandle) 释放音频路由。
SetMicMute ([in] boolean mute) 设置音频静音。
GetMicMute ([out] boolean mute) 获取音频静音状态。
SetVoiceVolume ([in] float volume) 设置语音呼叫的音量。
SetExtraParams ([in] enum AudioExtParamKey key, [in] String condition, [in] String value) 根据指定的条件设置音频拓展参数。
GetExtraParams ([in] enum AudioExtParamKey key, [in] String condition, [out] String value) 根据指定条件获取音频扩展参数的取值。
RegExtraParamObserver ([in] IAudioCallback audioCallback, [in] byte cookie) 注册扩展参数回调函数。

成员函数说明

CreateCapture()

IAudioAdapter::CreateCapture ([in] struct AudioDeviceDescriptor desc, [in] struct AudioSampleAttributes attrs, [out] IAudioCapture capture, [out] unsigned int captureId )

描述

创建一个音频录音接口的对象。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
desc 待打开的音频设备描述符,详请参考AudioDeviceDescriptor
attrs 待打开的音频采样属性,详请参考AudioSampleAttributes
capture 获取的音频录音接口的对象实例保存到capture中,详请参考IAudioCapture
captureId 获取的音频录音接口的序号

返回:

成功返回值0,失败返回负值。

参见:

GetPortCapability

DestroyCapture

CreateRender()

IAudioAdapter::CreateRender ([in] struct AudioDeviceDescriptor desc, [in] struct AudioSampleAttributes attrs, [out] IAudioRender render, [out] unsigned int renderId )

描述

创建一个音频播放接口的对象。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
desc 待打开的音频设备描述符,详请参考AudioDeviceDescriptor
attrs 待打开的音频采样属性,详请参考AudioSampleAttributes
render 获取的音频播放接口的对象实例保存到render中,详请参考IAudioRender
renderId 获取的音频播放接口序号。

返回:

成功返回值0,失败返回负值。

参见:

GetPortCapability

DestroyRender

DestroyCapture()

IAudioAdapter::DestroyCapture ([in] unsigned int captureId)

描述

销毁一个音频录音接口的对象。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
captureId 待销毁的音频录音接口的序号

注意:

在音频录音过程中,不能销毁该接口对象。

返回:

成功返回值0,失败返回负值。

参见:

CreateCapture

DestroyRender()

IAudioAdapter::DestroyRender ([in] unsigned int renderId)

描述

销毁一个音频播放接口的对象。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
renderId 待销毁的音频播放接口的序号

注意:

在音频播放过程中,不能销毁该接口对象。

返回:

成功返回值0,失败返回负值。

参见:

CreateRender

GetDeviceStatus()

IAudioAdapter::GetDeviceStatus ([out] struct AudioDeviceStatus status)

描述

获取一个音频适配器的设备状态。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
status 获取的设备状态保存到status中,详请参考AudioDeviceStatus

返回:

成功返回值0,失败返回负值。

GetExtraParams()

IAudioAdapter::GetExtraParams ([in] enum AudioExtParamKey key, [in] String condition, [out] String value )

描述

根据指定条件获取音频扩展参数的取值。

condition为多个键值对组成的字符串,多个键值对之间通过分号分割,键值对的格式为"keytype=keyvalue"。 当输入的key值为AudioExtParamKey::AUDIO_EXT_PARAM_KEY_VOLUME时,condition的格式必须为: "EVENT_TYPE=xxx;VOLUME_GROUP_ID=xxx;AUDIO_VOLUME_TYPE=xxx;"

  • EVENT_TYPE 表示音量事件类型:其中1表示设置音量,4表示设置静音。

  • VOLUME_GROUP_ID 表示待查询的音频扩展参数相关的音量组。

  • AUDIO_VOLUME_TYPE 表示待查询的音频扩展参数相关的音量类型。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
key 指定的扩展参数键类型,详请参考AudioExtParamKey
condition 指定的扩展参数查询条件。
value 待返回的指定扩展参数条件的当前值。
lenth value的长度

返回:

成功返回值0,失败返回负值。

GetMicMute()

IAudioAdapter::GetMicMute ([out] boolean mute)

描述

获取音频静音状态。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
mute 获取的静音状态保存到mute中,true表示静音,false表示非静音。

返回:

成功返回值0,失败返回负值。

参见:

GetMicMute

GetPassthroughMode()

IAudioAdapter::GetPassthroughMode ([in] struct AudioPort port, [out] enum AudioPortPassthroughMode mode )

描述

获取音频端口驱动的数据透传模式。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
port 待获取的端口,详请参考AudioPort
mode 获取的传输模式保存到mode中,详请参考AudioPortPassthroughMode

返回:

成功返回值0,失败返回负值。

参见:

SetPassthroughMode

GetPortCapability()

IAudioAdapter::GetPortCapability ([in] struct AudioPort port, [out] struct AudioPortCapability capability )

描述

获取一个音频适配器的端口驱动的能力集。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
port 待获取的端口,详请参考AudioPort
capability 获取的端口能力保存到capability中,详请参考AudioPortCapability

返回:

成功返回值0,失败返回负值。

InitAllPorts()

IAudioAdapter::InitAllPorts ()

描述

初始化一个音频适配器所有的端口驱动。 在音频服务中,调用其他驱动接口前需要先调用该接口检查端口是否已经初始化完成,如果端口没有初始化完成, 则需要等待一段时间(例如100ms)后重新进行检查,直到端口初始化完成后再继续操作。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。

返回:

初始化完成返回值0,初始化失败返回负值。

RegExtraParamObserver()

IAudioAdapter::RegExtraParamObserver ([in] IAudioCallback audioCallback, [in] byte cookie )

描述

注册扩展参数回调函数。

起始版本: 3.2

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
callback 待注册的回调函数,详请参考IAudioCallback
cookie 用于传递数据。

返回:

成功返回值0,失败返回负值。

ReleaseAudioRoute()

IAudioAdapter::ReleaseAudioRoute ([in] int routeHandle)

描述

释放音频路由。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
routeHandle 待释放的音频路由句柄。

返回:

成功返回值0,失败返回负值。

SetExtraParams()

IAudioAdapter::SetExtraParams ([in] enum AudioExtParamKey key, [in] String condition, [in] String value )

描述

根据指定的条件设置音频拓展参数。

condition为多个键值对组成的字符串,多个键值对之间通过分号分割,键值对的格式为"keytype=keyvalue"。 当输入的key值为AudioExtParamKey::AUDIO_EXT_PARAM_KEY_VOLUME时,condition的格式必须为: "EVENT_TYPE=xxx;VOLUME_GROUP_ID=xxx;AUDIO_VOLUME_TYPE=xxx;"

  • EVENT_TYPE 表示音量事件类型:其中1表示设置音量,4表示设置静音。

  • VOLUME_GROUP_ID 表示待设置的音频扩展参数相关的音量组。

  • AUDIO_VOLUME_TYPE 表示待设置的音频扩展参数相关的音量类型。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
key 指定的扩展参数键类型,详请参考AudioExtParamKey
condition 指定的扩展参数查询条件。
value 指定的扩展参数条件值。

返回:

成功返回值0,失败返回负值。

SetMicMute()

IAudioAdapter::SetMicMute ([in] boolean mute)

描述

设置音频静音。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
mute 表示是否将音频静音,true表示静音,false表示非静音。

返回:

成功返回值0,失败返回负值。

参见:

SetMicMute

SetPassthroughMode()

IAudioAdapter::SetPassthroughMode ([in] struct AudioPort port, [in] enum AudioPortPassthroughMode mode )

描述

设置音频端口驱动的数据透传模式。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
port 待设置的端口,详请参考AudioPort
mode 待设置的传输模式,详请参考AudioPortPassthroughMode

返回:

成功返回值0,失败返回负值。

参见:

GetPassthroughMode

SetVoiceVolume()

IAudioAdapter::SetVoiceVolume ([in] float volume)

描述

设置语音呼叫的音量。

音量范围从0.0到1.0。如果音频服务中的音量水平在0到15的范围内, 0.0表示音频静音,1.0指示最大音量级别(15)。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
volume 待设置的音量值,范围为(0.0-1.0),0.0表示最小音量值,1.0表示最大音量值。

返回:

成功返回值0,失败返回负值。

参见:

GetVolume

UpdateAudioRoute()

IAudioAdapter::UpdateAudioRoute ([in] struct AudioRoute route, [out] int routeHandle )

描述

更新音频路由。

起始版本: 4.0

参数:

名称 描述
adapter 调用当前函数的AudioAdapter指针对象。
route 待更新的路由,详请参考AudioRoute
routeHandle 更新后的音频路由句柄保存到routeHandle中。

返回:

成功返回值0,失败返回负值。