harmony 鸿蒙AudioAttribute

  • 2022-08-09
  • 浏览 (993)

AudioAttribute

概述

AudioAttribute音频属性接口。

提供音频播放(Render)或录音(Capture)需要的公共属性驱动能力,包括获取帧(frame)信息、设置采样属性等。

Since:

1.0

Version:

1.0

相关模块:

Audio

汇总

Public 属性

名称 描述
(GetFrameSize)(AudioHandle handle, uint64_t *size) 获取音频帧(frame)的大小
(GetFrameCount)(AudioHandle handle, uint64_t *count) 获取音频buffer中的音频帧数
(SetSampleAttributes)(AudioHandle handle, const struct AudioSampleAttributes *attrs) 设置音频采样的属性参数
(GetSampleAttributes)(AudioHandle handle, struct AudioSampleAttributes *attrs) 获取音频采样的属性参数
(GetCurrentChannelId)(AudioHandle handle, uint32_t *channelId) 获取音频的数据通道ID
(SetExtraParams)(AudioHandle handle, const char *keyValueList) 设置音频拓展参数
(GetExtraParams)(AudioHandle handle, char *keyValueList) 获取音频拓展参数
(ReqMmapBuffer)(AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor *desc) 请求Mmap缓冲区
(GetMmapPosition)(AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time) 获取当前Mmap的读/写位置
(AddAudioEffect)(AudioHandle handle, uint64_t effectid) 添加音频效果算法实例
(RemoveAudioEffect)(AudioHandle handle, uint64_t effectid) 移除音频效果算法实例
(GetFrameBufferSize)(AudioHandle handle, uint64_t *bufferSize) 获取播放或录音的缓冲区大小

类成员变量说明

AddAudioEffect

int32_t (*AudioAttribute::AddAudioEffect)(AudioHandle handle, uint64_t effectid)

描述:

添加音频效果算法实例。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
effectid 输入参数,待添加的音频效果算法实例ID。

返回:

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

GetCurrentChannelId

int32_t(* AudioAttribute::GetCurrentChannelId) (AudioHandle handle, uint32_t *channelId)

描述:

获取音频的数据通道ID。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
channelId 输出参数,获取的通道ID保存到channelId中。

返回:

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

GetExtraParams

int32_t(* AudioAttribute::GetExtraParams) (AudioHandle handle, char *keyValueList)

描述:

获取音频拓展参数。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
keyValueList 输出参数,拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割。

返回:

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

GetFrameBufferSize

int32_t (*AudioAttribute::GetFrameBufferSize)(AudioHandle handle, uint64_t *bufferSize)

描述:

获取播放或录音的缓冲区大小。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
bufferSize 输出参数,获取的缓冲区大小保存到bufferSize中。

返回:

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

GetFrameCount

int32_t(* AudioAttribute::GetFrameCount) (AudioHandle handle, uint64_t *count)

描述:

获取音频buffer中的音频帧数。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
count 输出参数,一个音频buffer中包含的音频帧数,获取后保存到count中。

返回:

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

GetFrameSize

int32_t(* AudioAttribute::GetFrameSize) (AudioHandle handle, uint64_t *size)

描述:

获取音频帧(frame)的大小,即一帧音频数据的长度(字节数)。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
size 输出参数,获取的音频帧大小(字节数)保存到size中。

返回:

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

GetMmapPosition

int32_t(* AudioAttribute::GetMmapPosition) (AudioHandle handle, uint64_t *frames, struct AudioTimeStamp *time)

描述:

获取当前Mmap的读/写位置。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
frames 输出参数,获取的音频帧计数保存到frames中。
time 输出参数,获取的关联时间戳保存到time中。

返回:

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

GetSampleAttributes

int32_t(* AudioAttribute::GetSampleAttributes) (AudioHandle handle, struct AudioSampleAttributes *attrs)

描述:

获取音频采样的属性参数。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
attrs 输出参数,获取的音频采样属性(例如采样频率、采样精度、通道)保存到attrs中。

返回:

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

参见:

GetSampleAttributes

RemoveAudioEffect

int32_t (*AudioAttribute::RemoveAudioEffect)(AudioHandle handle, uint64_t effectid)

描述:

移除音频效果算法实例。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
effectid 输入参数,待移除的音频效果算法实例ID。

返回:

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

ReqMmapBuffer

int32_t(* AudioAttribute::ReqMmapBuffer) (AudioHandle handle, int32_t reqSize, struct AudioMmapBufferDescriptor *desc)

描述:

请求Mmap缓冲区。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
reqSize 输入参数,请求缓冲区的大小。
desc 输出参数,缓冲区描述符。

返回:

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

SetExtraParams

int32_t(* AudioAttribute::SetExtraParams) (AudioHandle handle, const char *keyValueList)

描述:

设置音频拓展参数。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
keyValueList 输入参数,拓展参数键值对字符串列表,格式为key=value,多个键值对通过分号分割。

返回:

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

SetSampleAttributes

int32_t(* AudioAttribute::SetSampleAttributes) (AudioHandle handle, const struct AudioSampleAttributes *attrs)

描述:

设置音频采样的属性参数。

参数:

名称 描述
handle 输入参数,待操作的音频句柄。
attrs 输入参数,待设置的音频采样属性,例如采样频率、采样精度、通道。

返回:

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

参见:

GetSampleAttributes

你可能感兴趣的鸿蒙文章

harmony 鸿蒙HDI 参数参考

harmony 鸿蒙ActRecognitionEvent

harmony 鸿蒙Alignment

harmony 鸿蒙AllocInfo

harmony 鸿蒙Audio

harmony 鸿蒙AudioAdapter

harmony 鸿蒙AudioAdapterDescriptor

harmony 鸿蒙AudioCapture

harmony 鸿蒙AudioControl

harmony 鸿蒙AudioDevExtInfo

0  赞