OHAudio

概述

提供音频模块C接口定义。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

汇总

文件

名称 描述
native_audiocapturer.h 声明输入类型的音频流相关接口。
引用文件:<ohaudio/native_audiocapturer.h>
:libohaudio.so
native_audiorenderer.h 声明输出类型的音频流相关接口。
引用文件:<ohaudio/native_audiorenderer.h>
:libohaudio.so
native_audiostream_base.h 声明OHAudio基础的数据结构。
引用文件:<ohaudio/native_audiostream_base.h>
:libohaudio.so
native_audiostreambuilder.h 声明音频流构造器相关接口。
引用文件:<ohaudio/native_audiostreambuilder.h>
:libohaudio.so

结构体

名称 描述
struct  OH_AudioRenderer_Callbacks_Struct 声明输出音频流的回调函数指针。
struct  OH_AudioCapturer_Callbacks_Struct 声明输入音频流的回调函数指针。

类型定义

名称 描述
typedef struct OH_AudioStreamBuilderStruct OH_AudioStreamBuilder 声明音频流的构造器。
typedef struct OH_AudioRendererStruct OH_AudioRenderer 声明输出音频流。
typedef struct OH_AudioCapturerStruct OH_AudioCapturer 声明输入音频流。
typedef struct OH_AudioRenderer_Callbacks_Struct OH_AudioRenderer_Callbacks 声明输出音频流的回调函数指针。
typedef struct OH_AudioCapturer_Callbacks_Struct OH_AudioCapturer_Callbacks 声明输入音频流的回调函数指针。

枚举

名称 描述
OH_AudioStream_Result {
AUDIOSTREAM_SUCCESS = 0,
AUDIOSTREAM_ERROR_INVALID_PARAM = 1,
AUDIOSTREAM_ERROR_ILLEGAL_STATE = 2,
AUDIOSTREAM_ERROR_SYSTEM = 3
}
音频错误码。
OH_AudioStream_Type {
AUDIOSTREAM_TYPE_RERNDERER = 1,
AUDIOSTREAM_TYPE_CAPTURER = 2
}
音频流类型。
OH_AudioStream_SampleFormat {
AUDIOSTREAM_SAMPLE_U8 = 0,
AUDIOSTREAM_SAMPLE_S16LE = 1,
AUDIOSTREAM_SAMPLE_S24LE = 2,
AUDIOSTREAM_SAMPLE_S32LE = 3
}
定义音频流采样格式。
OH_AudioStream_EncodingType {
AUDIOSTREAM_ENCODING_TYPE_RAW = 0
}
定义音频流编码类型。
OH_AudioStream_Usage {
AUDIOSTREAM_USAGE_UNKNOWN = 0,
AUDIOSTREAM_USAGE_MUSIC = 1,
AUDIOSTREAM_USAGE_COMMUNICATION = 2,
AUDIOSTREAM_USAGE_VOICE_ASSISTANT = 3,
AUDIOSTREAM_USAGE_ALARM = 4,
AUDIOSTREAM_USAGE_VOICE_MESSAGE = 5,
AUDIOSTREAM_USAGE_RINGTONE = 6,
AUDIOSTREAM_USAGE_NOTIFICATION = 7,
AUDIOSTREAM_USAGE_ACCESSIBILITY = 8,
AUDIOSTREAM_USAGE_MOVIE = 10,
AUDIOSTREAM_USAGE_GAME = 11,
AUDIOSTREAM_USAGE_AUDIOBOOK = 12,
AUDIOSTREAM_USAGE_NAVIGATION = 13
}
定义音频流使用场景。
OH_AudioStream_LatencyMode {
AUDIOSTREAM_LATENCY_MODE_NORMAL = 0,
AUDIOSTREAM_LATENCY_MODE_FAST = 1
}
定义音频时延模式。
OH_AudioStream_State {
AUDIOSTREAM_STATE_INVALID = -1,
AUDIOSTREAM_STATE_NEW = 0,
AUDIOSTREAM_STATE_PREPARED = 1,
AUDIOSTREAM_STATE_RUNNING = 2,
AUDIOSTREAM_STATE_STOPPED = 3,
AUDIOSTREAM_STATE_RELEASED = 4,
AUDIOSTREAM_STATE_PAUSED = 5
}
定义音频流的状态。
OH_AudioStream_SourceType {
AUDIOSTREAM_SOURCE_TYPE_INVALID = -1,
AUDIOSTREAM_SOURCE_TYPE_MIC = 0,
AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION = 1,
AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE = 2,
AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION = 7
}
定义音频流使用场景。
OH_AudioStream_Event {
AUDIOSTREAM_EVENT_ROUTING_CHANGED = 0
}
定义音频事件。
OH_AudioInterrupt_ForceType {
AUDIOSTREAM_INTERRUPT_FORCE = 0,
AUDIOSTREAM_INTERRUPT_SHAR = 1
}
定义音频中断类型。
OH_AudioInterrupt_Hint {
AUDIOSTREAM_INTERRUPT_HINT_NONE = 0,
AUDIOSTREAM_INTERRUPT_HINT_RESUME = 1,
AUDIOSTREAM_INTERRUPT_HINT_PAUSE = 2,
AUDIOSTREAM_INTERRUPT_HINT_STOP = 3,
AUDIOSTREAM_INTERRUPT_HINT_DUCK = 4,
AUDIOSTREAM_INTERRUPT_HINT_UNDUCK = 5
}
定义音频中断类型。

函数

名称 描述
OH_AudioStream_Result OH_AudioCapturer_Release(OH_AudioCapturer *capturer) 释放输入音频流。
OH_AudioStream_Result OH_AudioCapturer_Start(OH_AudioCapturer *capturer) 开始获取音频数据。
OH_AudioStream_Result OH_AudioCapturer_Pause(OH_AudioCapturer *capturer) 暂停输入音频流。
OH_AudioStream_Result OH_AudioCapturer_Stop(OH_AudioCapturer *capturer) 停止输入音频流
OH_AudioStream_Result OH_AudioCapturer_Flush(OH_AudioCapturer *capturer) 丢弃获取的音频数据。
OH_AudioStream_Result OH_AudioCapturer_GetCurrentState(OH_AudioCapturer *capturer, OH_AudioStream_State *state) 查询当前输入音频流状态。
OH_AudioStream_Result OH_AudioCapturer_GetLatencyMode(OH_AudioCapturer *capturer, OH_AudioStream_LatencyMode *latencyMode) 查询当前输入音频流时延模式。
OH_AudioStream_Result OH_AudioCapturer_GetStreamId(OH_AudioCapturer *capturer, uint32_t *streamId) 查询当前输入音频流ID。
OH_AudioStream_Result OH_AudioCapturer_GetSamplingRate(OH_AudioCapturer *capturer, int32_t *rate) 查询当前输入音频流采样率。
OH_AudioStream_Result OH_AudioCapturer_GetChannelCount(OH_AudioCapturer *capturer, int32_t *channelCount) 查询当前输入音频流通道数。
OH_AudioStream_Result OH_AudioCapturer_GetSampleFormat(OH_AudioCapturer *capturer, OH_AudioStream_SampleFormat *sampleFormat) 查询当前输入音频流采样格式。
OH_AudioStream_Result OH_AudioCapturer_GetEncodingType(OH_AudioCapturer *capturer, OH_AudioStream_EncodingType *encodingType) 查询当前输入音频流编码类型。
OH_AudioStream_Result OH_AudioCapturer_GetCapturerInfo(OH_AudioCapturer *capturer, OH_AudioStream_SourceType *sourceType) 查询当前输入音频流工作场景类型。
OH_AudioStream_Result OH_AudioCapturer_GetFrameSizeInCallback(OH_AudioCapturer *capturer, int32_t *frameSize) 在回调中查询帧大小,它是每次回调返回的缓冲区的固定长度。
OH_AudioStream_Result OH_AudioCapturer_GetTimestamp(OH_AudioCapturer *capturer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp) 获取输入音频流时间戳和位置信息。
OH_AudioStream_Result OH_AudioCapturer_GetFramesRead(OH_AudioCapturer *capturer, int64_t *frames) 查询自创建流以来已读取的帧数。
OH_AudioStream_Result OH_AudioRenderer_Release(OH_AudioRenderer *renderer) 释放输出音频流。
OH_AudioStream_Result OH_AudioRenderer_Start(OH_AudioRenderer *renderer) 开始输出音频数据。
OH_AudioStream_Result OH_AudioRenderer_Pause(OH_AudioRenderer *renderer) 暂停输出音频流。
OH_AudioStream_Result OH_AudioRenderer_Stop(OH_AudioRenderer *renderer) 停止输出音频流。
OH_AudioStream_Result OH_AudioRenderer_Flush(OH_AudioRenderer *renderer) 丢弃已经写入的音频数据。
OH_AudioStream_Result OH_AudioRenderer_GetCurrentState(OH_AudioRenderer *renderer, OH_AudioStream_State *state) 查询当前输出音频流状态。
OH_AudioStream_Result OH_AudioRenderer_GetSamplingRate(OH_AudioRenderer *renderer, int32_t *rate) 查询当前输出音频流采样率。
OH_AudioStream_Result OH_AudioRenderer_GetStreamId(OH_AudioRenderer *renderer, uint32_t *streamId) 查询当前输出音频流ID。
OH_AudioStream_Result OH_AudioRenderer_GetChannelCount(OH_AudioRenderer *renderer, int32_t *channelCount) 查询当前输出音频流通道数。
OH_AudioStream_Result OH_AudioRenderer_GetSampleFormat(OH_AudioRenderer *renderer, OH_AudioStream_SampleFormat *sampleFormat) 查询当前输出音频流采样格式。
OH_AudioStream_Result OH_AudioRenderer_GetLatencyMode(OH_AudioRenderer *renderer, OH_AudioStream_LatencyMode *latencyMode) 查询当前输出音频流时延模式。
OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo(OH_AudioRenderer *renderer, OH_AudioStream_Usage *usage) 查询当前输出音频流工作场景类型。
OH_AudioStream_Result OH_AudioRenderer_GetEncodingType(OH_AudioRenderer *renderer, OH_AudioStream_EncodingType *encodingType) 查询当前输出音频流编码类型。
OH_AudioStream_Result OH_AudioRenderer_GetFramesWritten(OH_AudioRenderer *renderer, int64_t *frames) 查询自创建流以来已写入的帧数。
OH_AudioStream_Result OH_AudioRenderer_GetTimestamp(OH_AudioRenderer *renderer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp) 获取输出音频流时间戳和位置信息。
OH_AudioStream_Result OH_AudioRenderer_GetFrameSizeInCallback(OH_AudioRenderer *renderer, int32_t *frameSize) 在回调中查询帧大小。
OH_AudioStream_Result OH_AudioStreamBuilder_Create(OH_AudioStreamBuilder **builder, OH_AudioStream_Type type) 创建一个输入或者输出类型的音频流构造器。
OH_AudioStream_Result OH_AudioStreamBuilder_Destroy(OH_AudioStreamBuilder *builder) 销毁一个音频流构造器。
OH_AudioStream_Result OH_AudioStreamBuilder_SetSamplingRate(OH_AudioStreamBuilder *builder, int32_t rate) 设置音频流的采样率属性。
OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelCount(OH_AudioStreamBuilder *builder, int32_t channelCount) 设置音频流的通道数属性。
OH_AudioStream_Result OH_AudioStreamBuilder_SetSampleFormat(OH_AudioStreamBuilder *builder, OH_AudioStream_SampleFormat format) 设置音频流的采样格式属性。
OH_AudioStream_Result OH_AudioStreamBuilder_SetEncodingType(OH_AudioStreamBuilder *builder, OH_AudioStream_EncodingType encodingType) 设置音频流的编码类型属性。
OH_AudioStream_Result OH_AudioStreamBuilder_SetLatencyMode(OH_AudioStreamBuilder *builder, OH_AudioStream_LatencyMode latencyMode) 设置音频流的时延模式。
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_Usage usage) 设置输出音频流的工作场景。
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_SourceType sourceType) 设置输入音频流的工作场景。
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_Callbacks callbacks, void *userData) 设置输出音频流的回调。
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback(OH_AudioStreamBuilder *builder, OH_AudioCapturer_Callbacks callbacks, void *userData) 设置输入音频流的回调。
OH_AudioStream_Result OH_AudioStreamBuilder_GenerateRenderer(OH_AudioStreamBuilder *builder, OH_AudioRenderer **audioRenderer) 创建输出音频流实例。
OH_AudioStream_Result OH_AudioStreamBuilder_GenerateCapturer(OH_AudioStreamBuilder *builder, OH_AudioCapturer **audioCapturer) 创建输入音频流实例。
OH_AudioStream_Result OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder *builder, int32_t frameSize) 设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。

类型定义说明

OH_AudioCapturer

typedef struct OH_AudioCapturerStruct OH_AudioCapturer

描述

声明输入音频流。

输入音频流的实例被用来获取音频数据。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

OH_AudioCapturer_Callbacks

typedef struct OH_AudioCapturer_Callbacks_Struct OH_AudioCapturer_Callbacks

描述

声明输入音频流的回调函数指针。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

OH_AudioRenderer

typedef struct OH_AudioRendererStruct OH_AudioRenderer

描述

声明输出音频流。

输出音频流的实例被用来播放音频数据。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

OH_AudioRenderer_Callbacks

typedef struct OH_AudioRenderer_Callbacks_Struct OH_AudioRenderer_Callbacks

描述

声明输出音频流的回调函数指针。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

OH_AudioStreamBuilder

typedef struct OH_AudioStreamBuilderStruct OH_AudioStreamBuilder

描述

声明音频流的构造器。

构造器实例通常被用来设置音频流属性和创建音频流。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举类型说明

OH_AudioInterrupt_ForceType

enum OH_AudioInterrupt_ForceType

描述

定义音频中断类型。

通常用来描述音频中断事件。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_INTERRUPT_FORCE 强制类型,系统更改音频状态。
AUDIOSTREAM_INTERRUPT_SHAR 共享类型,应用程序更改音频状态。

OH_AudioInterrupt_Hint

enum OH_AudioInterrupt_Hint

描述

定义音频中断类型。

通常用来描述音频中断事件。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_INTERRUPT_HINT_NONE 不提示。
AUDIOSTREAM_INTERRUPT_HINT_RESUME 恢复流提示。
AUDIOSTREAM_INTERRUPT_HINT_PAUSE 暂停流提示。
AUDIOSTREAM_INTERRUPT_HINT_STOP 停止流提示。
AUDIOSTREAM_INTERRUPT_HINT_DUCK 短暂降低音量。
AUDIOSTREAM_INTERRUPT_HINT_UNDUCK 恢复音量。

OH_AudioStream_EncodingType

enum OH_AudioStream_EncodingType

描述

定义音频流编码类型。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_ENCODING_TYPE_RAW PCM编码。

OH_AudioStream_Event

enum OH_AudioStream_Event

描述

定义音频事件。

通常用来描述音频事件。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_EVENT_ROUTING_CHANGED 音频的路由已更改。

OH_AudioStream_LatencyMode

enum OH_AudioStream_LatencyMode

描述

定义音频时延模式。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_LATENCY_MODE_NORMAL 该模式代表一个普通时延的音频流。
AUDIOSTREAM_LATENCY_MODE_FAST 该模式代表一个低时延的音频流。

OH_AudioStream_Result

enum OH_AudioStream_Result

描述

音频错误码。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_SUCCESS 操作成功
AUDIOSTREAM_ERROR_INVALID_PARAM 入参错误。
AUDIOSTREAM_ERROR_ILLEGAL_STATE 非法状态。
AUDIOSTREAM_ERROR_SYSTEM 系统通用错误。

OH_AudioStream_SampleFormat

enum OH_AudioStream_SampleFormat

描述

定义音频流采样格式。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_SAMPLE_U8 Unsigned 8位。
AUDIOSTREAM_SAMPLE_S16LE Short 16位小端。
AUDIOSTREAM_SAMPLE_S24LE Short 24位小端。
AUDIOSTREAM_SAMPLE_S32LE Short 32位小端。

OH_AudioStream_SourceType

enum OH_AudioStream_SourceType

描述

定义音频流使用场景。

通常用来描述音频输入流的使用场景。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_SOURCE_TYPE_INVALID 不合法状态。
AUDIOSTREAM_SOURCE_TYPE_MIC 录音。
AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION 语音识别。
AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE 播放录音。
AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION 通话。

OH_AudioStream_State

enum OH_AudioStream_State

描述

定义音频流的状态。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_STATE_INVALID 不合法的状态。
AUDIOSTREAM_STATE_NEW 新创建时的状态。
AUDIOSTREAM_STATE_PREPARED 准备状态。
AUDIOSTREAM_STATE_RUNNING 工作状态。
AUDIOSTREAM_STATE_STOPPED 停止状态。
AUDIOSTREAM_STATE_RELEASED 释放状态。
AUDIOSTREAM_STATE_PAUSED 暂停状态。

OH_AudioStream_Type

enum OH_AudioStream_Type

描述

音频流类型。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_TYPE_RERNDERER 该类型代表音频流是输出流。
AUDIOSTREAM_TYPE_CAPTURER 该类型代表音频流是输入流。

OH_AudioStream_Usage

enum OH_AudioStream_Usage

描述

定义音频流使用场景。

通常用来描述音频输出流的使用场景。

系统能力: SystemCapability.Multimedia.Audio.Core

起始版本: 10

枚举值 描述
AUDIOSTREAM_USAGE_UNKNOWN 未定义。
AUDIOSTREAM_USAGE_MUSIC 音乐。
AUDIOSTREAM_USAGE_COMMUNICATION 通话。
AUDIOSTREAM_USAGE_VOICE_ASSISTANT 语音助手。
AUDIOSTREAM_USAGE_ALARM 闹钟。
AUDIOSTREAM_USAGE_VOICE_MESSAGE 语音消息。
AUDIOSTREAM_USAGE_RINGTONE 铃声。
AUDIOSTREAM_USAGE_NOTIFICATION 通知。
AUDIOSTREAM_USAGE_ACCESSIBILITY 无障碍。
AUDIOSTREAM_USAGE_MOVIE 视频。
AUDIOSTREAM_USAGE_GAME 游戏。
AUDIOSTREAM_USAGE_AUDIOBOOK 有声读物。
AUDIOSTREAM_USAGE_NAVIGATION 导航。

函数说明

OH_AudioCapturer_Flush()

OH_AudioStream_Result OH_AudioCapturer_Flush (OH_AudioCapturer * capturer)

描述

丢弃获取的音频数据。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetCapturerInfo()

OH_AudioStream_Result OH_AudioCapturer_GetCapturerInfo(OH_AudioCapturer *capturer, OH_AudioStream_SourceType *sourceType)

描述

查询当前音频流工作场景类型。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
sourceType 指向一个用来接收输入类型音频流的工作场景的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetChannelCount()

OH_AudioStream_Result OH_AudioCapturer_GetChannelCount(OH_AudioCapturer *capturer, int32_t *channelCount)

描述

查询当前音频流通道数。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
channelCount 指向一个用来接收音频流通道数的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetCurrentState()

OH_AudioStream_Result OH_AudioCapturer_GetCurrentState(OH_AudioCapturer *capturer, OH_AudioStream_State *state)

描述

查询当前音频流状态。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
state 指向一个用来接收音频流状态的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetEncodingType()

OH_AudioStream_Result OH_AudioCapturer_GetEncodingType(OH_AudioCapturer *capturer, OH_AudioStream_EncodingType *encodingType)

描述

查询当前音频流编码类型。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
encodingType 指向一个用来接收音频流编码类型的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetFrameSizeInCallback()

OH_AudioStream_Result OH_AudioCapturer_GetFrameSizeInCallback(OH_AudioCapturer *capturer, int32_t *frameSize)

描述

在回调中查询帧大小,它是每次回调返回的缓冲区的固定长度。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
frameSize 指向将为帧大小设置的变量的指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetFramesRead()

OH_AudioStream_Result OH_AudioCapturer_GetFramesRead(OH_AudioCapturer *capturer, int64_t *frames)

描述

查询自创建流以来已读取的帧数。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
frames 指向将为帧计数设置的变量的指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetLatencyMode()

OH_AudioStream_Result OH_AudioCapturer_GetLatencyMode(OH_AudioCapturer *capturer, OH_AudioStream_LatencyMode *latencyMode)

描述

查询当前音频流时延模式。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
latencyMode 指向一个用来接收音频流时延模式的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetSampleFormat()

OH_AudioStream_Result OH_AudioCapturer_GetSampleFormat(OH_AudioCapturer *capturer, OH_AudioStream_SampleFormat *sampleFormat)

描述

查询当前输入音频流采样格式。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
sampleFormat 指向一个用来接收音频流采样格式的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetSamplingRate()

OH_AudioStream_Result OH_AudioCapturer_GetSamplingRate(OH_AudioCapturer *capturer, int32_t *rate)

描述

查询当前输入音频流采样率。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
rate 指向一个用来接收音频流采样率的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetStreamId()

OH_AudioStream_Result OH_AudioCapturer_GetStreamId(OH_AudioCapturer *capturer, uint32_t *streamId)

描述

查询当前输入音频流ID。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
streamId 指向一个用来接收音频流ID的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_GetTimestamp()

OH_AudioStream_Result OH_AudioCapturer_GetTimestamp(OH_AudioCapturer *capturer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp)

描述

获取输入音频流时间戳和位置信息。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
clockId CLOCK_MONOTONIC。
framePosition 指向要接收位置的变量的指针。
timestamp 指向接收时间戳的变量的指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_Pause()

OH_AudioStream_Result OH_AudioCapturer_Pause(OH_AudioCapturer *capturer)

描述

暂停输入音频流。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。

需要权限:

ohos.permission.MICROPHONE

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_Release()

OH_AudioStream_Result OH_AudioCapturer_Release(OH_AudioCapturer *capturer)

描述

释放输入音频流。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。

需要权限:

ohos.permission.MICROPHONE

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_Start()

OH_AudioStream_Result OH_AudioCapturer_Start(OH_AudioCapturer *capturer)

描述

开始获取音频数据。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。

需要权限:

ohos.permission.MICROPHONE

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioCapturer_Stop()

OH_AudioStream_Result OH_AudioCapturer_Stop(OH_AudioCapturer *capturer)

描述

停止输入音频流

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。

需要权限:

ohos.permission.MICROPHONE

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_Flush()

OH_AudioStream_Result OH_AudioRenderer_Flush(OH_AudioRenderer *renderer)

描述

丢弃已经写入的音频数据。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetChannelCount()

OH_AudioStream_Result OH_AudioRenderer_GetChannelCount(OH_AudioRenderer *renderer, int32_t *channelCount)

描述

查询当前输出音频流通道数。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
channelCount 指向一个用来接收音频流通道数的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetCurrentState()

OH_AudioStream_Result OH_AudioRenderer_GetCurrentState(OH_AudioRenderer *renderer, OH_AudioStream_State *state)

描述

查询当前输出音频流状态。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
state 指向一个用来接收音频流状态的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetEncodingType()

OH_AudioStream_Result OH_AudioRenderer_GetEncodingType(OH_AudioRenderer *renderer, OH_AudioStream_EncodingType *encodingType)

描述

查询当前输出音频流编码类型。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
encodingType 指向一个用来接收音频流编码类型的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetFrameSizeInCallback()

OH_AudioStream_Result OH_AudioRenderer_GetFrameSizeInCallback(OH_AudioRenderer *renderer, int32_t *frameSize)

描述

在回调中查询帧大小,它是一个固定的长度,每次回调都要填充流。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
frameSize 指向将为帧大小设置的变量的指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetFramesWritten()

OH_AudioStream_Result OH_AudioRenderer_GetFramesWritten(OH_AudioRenderer *renderer, int64_t *frames)

描述

查询自创建流以来已写入的帧数。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
frames 指向将为帧计数设置的变量的指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetLatencyMode()

OH_AudioStream_Result OH_AudioRenderer_GetLatencyMode(OH_AudioRenderer *renderer, OH_AudioStream_LatencyMode *latencyMode)

描述

查询当前输出音频流时延模式。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
latencyMode 指向一个用来接收音频流时延模式的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetRendererInfo()

OH_AudioStream_Result OH_AudioRenderer_GetRendererInfo(OH_AudioRenderer *renderer, OH_AudioStream_Usage *usage)

描述

查询当前输出音频流工作场景类型。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
usage 指向一个用来接收输出类型音频流的工作场景的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetSampleFormat()

OH_AudioStream_Result OH_AudioRenderer_GetSampleFormat(OH_AudioRenderer *renderer, OH_AudioStream_SampleFormat *sampleFormat)

描述

查询当前输出音频流采样格式。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
sampleFormat 指向一个用来接收音频流采样格式的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetSamplingRate()

OH_AudioStream_Result OH_AudioRenderer_GetSamplingRate(OH_AudioRenderer *renderer, int32_t *rate)

描述

查询当前输出音频流采样率。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
rate 指向一个用来接收音频流采样率的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetStreamId()

OH_AudioStream_Result OH_AudioRenderer_GetStreamId(OH_AudioRenderer *renderer, uint32_t *streamId)

描述

查询当前输出音频流ID。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
streamId 指向一个用来接收音频流ID的变量。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_GetTimestamp()

OH_AudioStream_Result OH_AudioRenderer_GetTimestamp(OH_AudioRenderer *renderer, clockid_t clockId, int64_t *framePosition, int64_t *timestamp)

描述

获取输出音频流时间戳和位置信息。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
clockId CLOCK_MONOTONIC
framePosition 指向要接收位置的变量的指针。
timestamp 指向接收时间戳的变量的指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_Pause()

OH_AudioStream_Result OH_AudioRenderer_Pause(OH_AudioRenderer *renderer)

描述

暂停输出音频流。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_Release()

OH_AudioStream_Result OH_AudioRenderer_Release(OH_AudioRenderer *renderer)

描述

释放输出音频流。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_Start()

OH_AudioStream_Result OH_AudioRenderer_Start(OH_AudioRenderer *renderer)

描述

开始输出音频数据。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioRenderer_Stop()

OH_AudioStream_Result OH_AudioRenderer_Stop(OH_AudioRenderer *renderer)

描述

停止输出音频流。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_Create()

OH_AudioStream_Result OH_AudioStreamBuilder_Create(OH_AudioStreamBuilder **builder, OH_AudioStream_Type type)

描述

创建一个输入或者输出类型的音频流构造器。

当构造器不再使用时,需要调用OH_AudioStreamBuilder_Destroy()销毁它。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 该引用指向创建的构造器的结果。
type 构造器的流类型。AUDIOSTREAM_TYPE_RERNDERER or AUDIOSTREAM_TYPE_CAPTURER

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_Destroy()

OH_AudioStream_Result OH_AudioStreamBuilder_Destroy(OH_AudioStreamBuilder *builder)

描述

销毁一个音频流构造器。

当构造器不再使用时,需要调用该函数销毁它。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_GenerateCapturer()

OH_AudioStream_Result OH_AudioStreamBuilder_GenerateCapturer(OH_AudioStreamBuilder *builder, OH_AudioCapturer **audioCapturer)

描述

创建输入音频流实例。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
audioCapturer 指向输入音频流实例的指针,将被用来接收函数创建的结果。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_GenerateRenderer()

OH_AudioStream_Result OH_AudioStreamBuilder_GenerateRenderer(OH_AudioStreamBuilder *builder, OH_AudioRenderer **audioRenderer)

描述

创建输出音频流实例。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
audioRenderer 指向输出音频流实例的指针,将被用来接收函数创建的结果。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetCapturerCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback(OH_AudioStreamBuilder *builder, OH_AudioCapturer_Callbacks callbacks, void *userData)

描述

设置输入音频流的回调。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
callbacks 将被用来处理输入音频流相关事件的回调函数。
userData 指向通过回调函数传递的应用数据指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetCapturerInfo()

OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_SourceType sourceType)

描述

设置输入音频流的工作场景。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
sourceType 输入音频流属性,使用的工作场景。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetChannelCount()

OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelCount(OH_AudioStreamBuilder *builder, int32_t channelCount)

描述

设置音频流的通道数属性。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
channelCount 音频流通道数。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetEncodingType()

OH_AudioStream_Result OH_AudioStreamBuilder_SetEncodingType(OH_AudioStreamBuilder *builder, OH_AudioStream_EncodingType encodingType)

描述

设置音频流的编码类型属性。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
encodingType 音频流编码类型, AUDIOSTREAM_ENCODING_PCM

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetFrameSizeInCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder *builder, int32_t frameSize)

描述

设置每次回调的帧长,帧长至少为音频硬件一次处理的数据大小,并且小于内部缓冲容量的一半。

起始版本: 11

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
frameSize 要设置音频数据的帧长。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetLatencyMode()

OH_AudioStream_Result OH_AudioStreamBuilder_SetLatencyMode(OH_AudioStreamBuilder *builder, OH_AudioStream_LatencyMode latencyMode)

描述

设置音频流的时延模式。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
latencyMode 音频流时延模式。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetRendererCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_Callbacks callbacks, void *userData)

描述

设置输出音频流的回调。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
callbacks 将被用来处理输出音频流相关事件的回调函数。
userData 指向通过回调函数传递的应用数据指针。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetRendererInfo()

OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_Usage usage)

描述

设置输出音频流的工作场景。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
usage 输出音频流属性,使用的工作场景。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetSampleFormat()

OH_AudioStream_Result OH_AudioStreamBuilder_SetSampleFormat(OH_AudioStreamBuilder *builder, OH_AudioStream_SampleFormat format)

描述

设置音频流的采样格式属性。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
format 音频流采样格式。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。

OH_AudioStreamBuilder_SetSamplingRate()

OH_AudioStream_Result OH_AudioStreamBuilder_SetSamplingRate(OH_AudioStreamBuilder *builder, int32_t rate)

描述

设置音频流的采样率属性。

起始版本: 10

系统能力: SystemCapability.Multimedia.Audio.Core

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
channelCount 音频流采样率。

返回:

AUDIOSTREAM_SUCCESS 或者一个预期之外的错误。