1.4K Star 7.3K Fork 7.8K

OpenHarmony/docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
.gitee
docker
en
zh-cn
application-dev
IDL
accessibility
ads-service
ai
application-models
application-test
arkts-utils
basic-services
calendarmanager
connectivity
contacts
database
device-usage-statistics
device
dfx
displaymanager
distributedservice
enterprise-device-management
faqs
ffrt
file-management
form
graphics
graphics3d
inputmethod
internationalization
ipc
key-features/multi-device-app-dev
mdm
media
napi
network
notification
onlyfortest
performance
public_sys-resources
quick-start
reference
apis-ability-kit
apis-accessibility-kit
apis-ads-kit
apis-arkdata
apis-arkgraphics2d
apis-arkgraphics3d
apis-arkts
apis-arkui
apis-arkweb
apis-asset-store-kit
apis-audio-kit
Readme-CN.md
_o_h___audio_capturer___callbacks___struct.md
_o_h___audio_device_descriptor_array.md
_o_h___audio_renderer___callbacks___struct.md
_o_h___audio_session___deactivated_event.md
_o_h___audio_session___strategy.md
_o_h_audio.md
errorcode-audio.md
errorcode-ringtone.md
js-apis-audio-sys.md
js-apis-audio.md
js-apis-audioHaptic.md
js-apis-inner-multimedia-ringtonePlayer-sys.md
js-apis-inner-multimedia-systemTonePlayer-sys.md
js-apis-systemSoundManager-sys.md
native__audio__common_8h.md
native__audio__device__base_8h.md
native__audio__manager_8h.md
native__audio__routing__manager_8h.md
native__audio__session__manager_8h.md
native__audiocapturer_8h.md
native__audiorenderer_8h.md
native__audiostream__base_8h.md
native__audiostreambuilder_8h.md
ohos-multimedia-avvolumepanel.md
apis-avcodec-kit
apis-avsession-kit
apis-backgroundtasks-kit
apis-basic-services-kit
apis-calendar-kit
apis-camera-kit
apis-connectivity-kit
apis-contacts-kit
apis-core-file-kit
apis-crypto-architecture-kit
apis-data-protection-kit
apis-device-certificate-kit
apis-distributedservice-kit
apis-driverdevelopment-kit
apis-drm-kit
apis-ffrt-kit
apis-form-kit
apis-image-kit
apis-ime-kit
apis-input-kit
apis-ipc-kit
apis-localization-kit
apis-location-kit
apis-mdm-kit
apis-media-kit
apis-media-library-kit
apis-mindspore-lite-kit
apis-multimodalawareness-kit
apis-network-kit
apis-neural-network-runtime-kit
apis-notification-kit
apis-performance-analysis-kit
apis-sensor-service-kit
apis-telephony-kit
apis-test-kit
apis-universal-keystore-kit
apis-user-authentication-kit
common
figures
native-lib
Readme-CN.md
development-intro.md
errorcode-universal.md
litewearable-syscap-list.md
phone-syscap-list.md
syscap-list.md
syscap.md
tablet-syscap-list.md
tv-syscap-list.md
wearable-syscap-list.md
security
task-management
telephony
tools
ui
web
webgl
windowmanager
Readme-CN.md
Samples.md
application-dev-guide-for-gitee.md
application-dev-guide.md
website.md
contribute
design
device-dev
figures
readme
release-notes
third-party-cases
third-party-components
Legal-Notices.md
OpenHarmony-Overview_zh.md
glossary.md
readme.md
website.md
.gitattributes
.gitignore
11.patch
CODEOWNERS
DCO.txt
LICENSE
OAT.xml
README.md
README_zh.md
fix.patch
image.png
克隆/下载
_o_h_audio.md 147.08 KB
一键复制 编辑 原始数据 按行查看 历史
zhangwt3652 提交于 2个月前 . float32 api17

OHAudio

概述

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

开发者可根据实际的开发需求,参考对应的开发指南及样例:

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

起始版本: 10

汇总

文件

名称 描述
native_audio_common.h 声明音频公共基础数据结构。
native_audio_device_base.h 定义音频设备参数的类型以及获取每个设备参数的接口。
native_audio_manager.h 声明音频管理相关的接口。
native_audio_routing_manager.h 声明与音频路由管理器相关的接口。
native_audio_session_manager.h 声明音频会话管理相关的接口。
native_audiocapturer.h 声明输入类型的音频流相关接口。
native_audiorenderer.h 声明输出类型的音频流相关接口。
native_audiostream_base.h 声明OHAudio基础的数据结构。
native_audiostreambuilder.h 声明音频流构造器相关接口。

结构体

名称 描述
struct OH_AudioDeviceDescriptorArray 声明音频设备描述符数组。
struct OH_AudioSession_Strategy 音频会话策略。
struct OH_AudioSession_DeactivatedEvent 音频会话已停用事件。
struct OH_AudioRenderer_Callbacks_Struct 声明输出音频流的回调函数指针。
struct OH_AudioCapturer_Callbacks_Struct 声明输入音频流的回调函数指针。

类型定义

名称 描述
typedef struct OH_AudioDeviceDescriptor OH_AudioDeviceDescriptor 声明音频设备描述符。 该实例用于获取更多音频设备详细信息属性。
typedef struct OH_AudioDeviceDescriptorArray OH_AudioDeviceDescriptorArray 声明音频设备描述符数组。
typedef struct OH_AudioManager OH_AudioManager 声明音频管理器。
typedef struct OH_AudioRoutingManager OH_AudioRoutingManager 声明音频路由管理器,用于路由和设备相关功能的音频路由管理器的句柄。
typedef int32_t (*OH_AudioRoutingManager_OnDeviceChangedCallback)(OH_AudioDevice_ChangeType type, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray) 此函数指针将指向用于返回更改的音频设备描述符的回调函数,可能返回多个音频设备描述符。
typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback) (OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, OH_AudioDevice_BlockStatus status, void *userData) 此函数指针将指向用于返回音频设备堵塞状态的回调函数,可能返回多个音频设备描述符。
typedef struct OH_AudioSessionManager OH_AudioSessionManager 声明音频会话管理器。
typedef struct OH_AudioSession_Strategy OH_AudioSession_Strategy 音频会话策略。
typedef struct OH_AudioSession_DeactivatedEvent OH_AudioSession_DeactivatedEvent 音频会话已停用事件。
typedef int32_t (*OH_AudioSession_DeactivatedCallback)(OH_AudioSession_DeactivatedEvent event) 这个函数指针将指向用于监听音频会话停用事件的回调函数。
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 声明输入音频流的回调函数指针。
typedef void (*OH_AudioRenderer_OutputDeviceChangeCallback)(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_DeviceChangeReason reason) 输出音频流设备变更的回调函数。
typedef void (*OH_AudioRenderer_OnMarkReachedCallback)(OH_AudioRenderer *renderer, uint32_t samplePos, void *userData) 到达标记位置时回调。
typedef int32_t (*OH_AudioRenderer_WriteDataWithMetadataCallback)(OH_AudioRenderer *renderer, void *userData, void *audioData, int32_t audioDataSize, void *metadata, int32_t metadataSize) 该函数指针将指向用于同时写入音频数据和元数据的回调函数。
typedef OH_AudioData_Callback_Result (*OH_AudioRenderer_OnWriteDataCallback)(OH_AudioRenderer *renderer, void *userData, void *audioData, int32_t audioDataSize) 该函数指针将指向用于写入音频数据的回调函数。

枚举

名称 描述
OH_AudioCommon_Result {
AUDIOCOMMON_RESULT_SUCCESS = 0,
AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM = 6800101,
AUDIOCOMMON_RESULT_ERROR_NO_MEMORY = 6800102,
AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE = 6800103,
AUDIOCOMMON_RESULT_ERROR_UNSUPPORTED = 6800104,
AUDIOCOMMON_RESULT_ERROR_TIMEOUT = 6800105,
AUDIOCOMMON_RESULT_ERROR_STREAM_LIMIT = 6800201,
AUDIOCOMMON_RESULT_ERROR_SYSTEM = 6800301
}
音频错误码。
OH_AudioScene {
AUDIO_SCENE_DEFAULT = 0,
AUDIO_SCENE_RINGING = 1,
AUDIO_SCENE_PHONE_CALL = 2,
AUDIO_SCENE_VOICE_CHAT = 3 }
定义音频场景。
OH_AudioDevice_ChangeType {
AUDIO_DEVICE_CHANGE_TYPE_CONNECT = 0,
AUDIO_DEVICE_CHANGE_TYPE_DISCONNECT = 1
}
定义音频设备更改类型。
OH_AudioDevice_Role {
AUDIO_DEVICE_ROLE_INPUT = 1,
AUDIO_DEVICE_ROLE_OUTPUT = 2
}
定义音频设备角色。
OH_AudioDevice_Type {
AUDIO_DEVICE_TYPE_INVALID = 0,
AUDIO_DEVICE_TYPE_EARPIECE = 1,
AUDIO_DEVICE_TYPE_SPEAKER = 2,
AUDIO_DEVICE_TYPE_WIRED_HEADSET = 3,
AUDIO_DEVICE_TYPE_WIRED_HEADPHONES = 4,
AUDIO_DEVICE_TYPE_BLUETOOTH_SCO = 7,
AUDIO_DEVICE_TYPE_BLUETOOTH_A2DP = 8,
AUDIO_DEVICE_TYPE_MIC = 15,
AUDIO_DEVICE_TYPE_USB_HEADSET = 22,
AUDIO_DEVICE_TYPE_DISPLAY_PORT = 23,
AUDIO_DEVICE_TYPE_REMOTE_CAST = 24,
AUDIO_DEVICE_TYPE_DEFAULT = 1000
}
定义音频设备类型。
OH_AudioDevice_Flag {
AUDIO_DEVICE_FLAG_NONE = 0,
AUDIO_DEVICE_FLAG_OUTPUT = 1,
AUDIO_DEVICE_FLAG_INPUT = 2,
AUDIO_DEVICE_FLAG_ALL = 3
}
定义音频设备标志。
OH_AudioDevice_Usage {
AUDIO_DEVICE_USAGE_MEDIA_OUTPUT = 1,
AUDIO_DEVICE_USAGE_MEDIA_INPUT = 2,
AUDIO_DEVICE_USAGE_MEDIA_ALL = 3,
AUDIO_DEVICE_USAGE_CALL_OUTPUT = 4,
AUDIO_DEVICE_USAGE_CALL_INPUT = 8,
AUDIO_DEVICE_USAGE_CALL_ALL = 12
}
定义可获取的设备种类。
OH_AudioDevice_BlockStatus {
AUDIO_DEVICE_UNBLOCKED = 0,
AUDIO_DEVICE_BLOCKED = 1 }
声明音频设备的堵塞状态。默认情况下,音频设备被视为未堵塞。
OH_AudioSession_ConcurrencyMode {
CONCURRENCY_DEFAULT = 0,
CONCURRENCY_MIX_WITH_OTHERS = 1,
CONCURRENCY_DUCK_OTHERS = 2,
CONCURRENCY_PAUSE_OTHERS = 3 }
音频并发模式。
OH_AudioSession_DeactivatedReason {
DEACTIVATED_LOWER_PRIORITY = 0,
DEACTIVATED_TIMEOUT = 1 }
音频会话停用原因。
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_RENDERER = 1,
AUDIOSTREAM_TYPE_CAPTURER = 2
}
音频流类型。
OH_AudioStream_SampleFormat {
AUDIOSTREAM_SAMPLE_U8 = 0,
AUDIOSTREAM_SAMPLE_S16LE = 1,
AUDIOSTREAM_SAMPLE_S24LE = 2,
AUDIOSTREAM_SAMPLE_S32LE = 3,
AUDIOSTREAM_SAMPLE_F32LE = 4
}
定义音频流采样格式。
OH_AudioStream_EncodingType {
AUDIOSTREAM_ENCODING_TYPE_RAW = 0,
AUDIOSTREAM_ENCODING_TYPE_AUDIOVIVID = 1
}
定义音频流编码类型。
OH_AudioStream_Usage {
AUDIOSTREAM_USAGE_UNKNOWN = 0,
AUDIOSTREAM_USAGE_MUSIC = 1,
AUDIOSTREAM_USAGE_VOICE_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,
AUDIOSTREAM_USAGE_VIDEO_COMMUNICATION = 17
}
定义音频流使用场景。
OH_AudioStream_LatencyMode {
AUDIOSTREAM_LATENCY_MODE_NORMAL = 0,
AUDIOSTREAM_LATENCY_MODE_FAST = 1
}
定义音频时延模式。
OH_AudioStream_VolumeMode {
AUDIOSTREAM_VOLUMEMODE_SYSTEM_GLOBAL = 0,
AUDIOSTREAM_VOLUMEMODE_APP_INDIVIDUAL = 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,
AUDIOSTREAM_SOURCE_TYPE_CAMCORDER = 13
}
定义音频流使用场景。
OH_AudioStream_Event {
AUDIOSTREAM_EVENT_ROUTING_CHANGED = 0
}
定义音频事件。
OH_AudioInterrupt_ForceType {
AUDIOSTREAM_INTERRUPT_FORCE = 0,
AUDIOSTREAM_INTERRUPT_SHARE = 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_AudioInterrupt_Mode {
AUDIOSTREAM_INTERRUPT_MODE_SHARE = 0,
AUDIOSTREAM_INTERRUPT_MODE_INDEPENDENT = 1
}
定义音频中断模式。
OH_AudioStream_AudioEffectMode {
EFFECT_NONE = 0,
EFFECT_DEFAULT = 1
}
定义音效模式。
OH_AudioStream_DeviceChangeReason {
REASON_UNKNOWN = 0,
REASON_NEW_DEVICE_AVAILABLE = 1,
REASON_OLD_DEVICE_UNAVAILABLE = 2,
REASON_OVERRODE = 3
}
流设备变更原因。
OH_AudioStream_PrivacyType {
AUDIO_STREAM_PRIVACY_TYPE_PUBLIC = 0,
AUDIO_STREAM_PRIVACY_TYPE_PRIVATE = 1
}
用于标识对应播放音频流是否支持被其他应用录制。
OH_AudioData_Callback_Result {
AUDIO_DATA_CALLBACK_RESULT_INVALID = -1,
AUDIO_DATA_CALLBACK_RESULT_VALID = 0
}
定义音频数据回调结果。

函数

名称 描述
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceRole(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioDevice_Role *deviceRole) 查询目标音频设备描述符的设备角色。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceType(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioDevice_Type *deviceType) 查询目标音频设备描述符的设备类型。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceId(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t *id) 查询目标音频设备描述符的设备id。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceName(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **name) 查询目标音频设备描述符的设备名称。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceAddress(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **address) 查询目标音频设备描述符的设备地址。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceSampleRates(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t **sampleRates, uint32_t *size) 查询目标音频设备描述符的采样率数组。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceChannelCounts(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t **channelCounts, uint32_t *size) 查询目标音频设备描述符的设备通道计数数组。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceDisplayName(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **displayName) 查询目标音频设备描述符的显示名称。
OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceEncodingTypes(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioStream_EncodingType **encodingTypes, uint32_t *size) 查询目标音频设备描述符的编码类型数组。
OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager) 获取音频管理器。
OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager *manager, OH_AudioScene *scene) 获取音频场景模式。
OH_AudioCommon_Result OH_AudioManager_GetAudioRoutingManager(OH_AudioRoutingManager **audioRoutingManager) 查询音频路由管理器句柄,该句柄应设置为路由相关函数中的第一个参数。
OH_AudioCommon_Result OH_AudioRoutingManager_GetDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 根据输入的deviceFlag查询可用的设备。
OH_AudioCommon_Result OH_AudioRoutingManager_GetAvailableDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Usage deviceUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 获取音频可选设备列表。
OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredOutputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_Usage streamUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 根据音频输出流的使用场景,获取优先级最高的输出设备。
OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredInputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_SourceType sourceType, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray) 根据音频输入流的使用场景,获取优先级最高的输入设备。
OH_AudioCommon_Result OH_AudioRoutingManager_RegisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioRoutingManager_OnDeviceChangedCallback callback) 注册音频路由管理器的设备更改回调。
OH_AudioCommon_Result OH_AudioRoutingManager_UnregisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceChangedCallback callback) 取消注册音频路由管理器的设备更改回调。
OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray) 释放音频设备描述符数组对象。
OH_AudioCommon_Result OH_AudioRoutingManager_IsMicBlockDetectionSupported(OH_AudioRoutingManager *audioRoutingManager, bool *supported) 查询当前设备是否支持麦克风堵塞状态检测。
OH_AudioCommon_Result OH_AudioRoutingManager_SetMicBlockStatusCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData) 设置麦克风是否堵塞状态回调。在使用此功能之前,用户应查询当前设备是否支持检测,应用只有在使用麦克风录音时, 并且所使用的麦克风的堵塞状态发生改变,才会收到回调,目前此检测功能仅支持麦克风位于本地设备上。
OH_AudioCommon_Result OH_AudioManager_GetAudioSessionManager(OH_AudioSessionManager **audioSessionManager) 获取音频会话管理器。
OH_AudioCommon_Result OH_AudioSessionManager_ActivateAudioSession(OH_AudioSessionManager *audioSessionManager, const OH_AudioSession_Strategy *strategy) 激活音频会话。
OH_AudioCommon_Result OH_AudioSessionManager_DeactivateAudioSession(OH_AudioSessionManager *audioSessionManager) 停用音频会话。
bool OH_AudioSessionManager_IsAudioSessionActivated(OH_AudioSessionManager *audioSessionManager) 检查音频会话是否已激活。
OH_AudioCommon_Result OH_AudioSessionManager_RegisterSessionDeactivatedCallback(OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback) 注册音频会话停用事件回调。
OH_AudioCommon_Result OH_AudioSessionManager_UnregisterSessionDeactivatedCallback(OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback) 取消注册音频会话停用事件回调。
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_AudioCapturer_GetOverflowCount(OH_AudioCapturer *capturer, uint32_t *count) 查询当前录制音频流过载数。
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_GetAudioTimestampInfo (OH_AudioRenderer *renderer, int64_t *framePosition, int64_t *timestamp) 获取输出音频流时间戳和位置信息,适配倍速接口。
OH_AudioStream_Result OH_AudioRenderer_GetFrameSizeInCallback(OH_AudioRenderer *renderer, int32_t *frameSize) 在回调中查询帧大小。
OH_AudioStream_Result OH_AudioRenderer_GetSpeed(OH_AudioRenderer *renderer, float *speed) 获取音频渲染速率。
OH_AudioStream_Result OH_AudioRenderer_SetSpeed(OH_AudioRenderer *renderer, float speed) 设置音频渲染速率。
OH_AudioStream_Result OH_AudioRenderer_SetMarkPosition(OH_AudioRenderer *renderer, uint32_t samplePos, OH_AudioRenderer_OnMarkReachedCallback callback, void *userData) 在当前渲染器上设置标记位置。调用此函数将覆盖已设置的标记位置。
OH_AudioStream_Result OH_AudioRenderer_CancelMark(OH_AudioRenderer *renderer) 取消由OH_AudioRenderer_SetMarkPosition设置的标记。
OH_AudioStream_Result OH_AudioRenderer_SetVolume(OH_AudioRenderer *renderer, float volume) 设置当前音频流音量值。
OH_AudioStream_Result OH_AudioRenderer_SetVolumeWithRamp(OH_AudioRenderer *renderer, float volume, int32_t durationMs) 在指定时间范围内使用渐变更改音量。
OH_AudioStream_Result OH_AudioRenderer_GetVolume(OH_AudioRenderer *renderer, float *volume) 获取当前音频流音量值。
OH_AudioStream_Result OH_AudioRenderer_GetUnderflowCount(OH_AudioRenderer *renderer, uint32_t *count) 查询当前播放音频流欠载数。
OH_AudioStream_Result OH_AudioRenderer_GetChannelLayout(OH_AudioRenderer *renderer, OH_AudioChannelLayout *channelLayout) 查询当前音频流声道布局。
OH_AudioStream_Result OH_AudioRenderer_GetEffectMode(OH_AudioRenderer *renderer, OH_AudioStream_AudioEffectMode *effectMode) 查询当前音频流音效模式。
OH_AudioStream_Result OH_AudioRenderer_SetEffectMode(OH_AudioRenderer *renderer, OH_AudioStream_AudioEffectMode effectMode) 设置当前音频流音效模式。
OH_AudioStream_Result OH_AudioRenderer_GetRendererPrivacy(OH_AudioRenderer *renderer, OH_AudioStream_PrivacyType *privacy) 查询当前播放音频流是否会被其它应用录制。
OH_AudioStream_Result OH_AudioRenderer_SetSilentModeAndMixWithOthers(OH_AudioRenderer *renderer, bool on) 设置静音并发播放模式。
OH_AudioStream_Result OH_AudioRenderer_GetSilentModeAndMixWithOthers(OH_AudioRenderer *renderer, bool *on) 查询当前音频流是否开启静音并发播放。
OH_AudioStream_Result OH_AudioRenderer_SetDefaultOutputDevice(OH_AudioRenderer *renderer, OH_AudioDevice_Type deviceType) 设置默认本机内置发声设备。
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_SetChannelLayout(OH_AudioStreamBuilder *builder, OH_AudioChannelLayout channelLayout) 设置音频流的声道布局。
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInfo(OH_AudioStreamBuilder *builder, OH_AudioStream_Usage usage) 设置输出音频流的工作场景。
OH_AudioStream_Result OH_AudioStreamBuilder_SetVolumeMode (OH_AudioStreamBuilder *builder, OH_AudioStream_VolumeMode volumeMode) 设置音频流音量模式。
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_SetRendererOutputDeviceChangeCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_OutputDeviceChangeCallback callback, void *userData) 设置输出音频流设备变更的回调。
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererPrivacy(OH_AudioStreamBuilder *builder, OH_AudioStream_PrivacyType privacy) 设置当前播放音频流是否会被其它应用录制。
OH_AudioStream_Result OH_AudioStreamBuilder_SetCapturerCallback(OH_AudioStreamBuilder *builder, OH_AudioCapturer_Callbacks callbacks, void *userData) 设置输入音频流的回调。
OH_AudioStream_Result OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_WriteDataWithMetadataCallback callback, 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_AudioStream_Result OH_AudioStreamBuilder_SetRendererInterruptMode(OH_AudioStreamBuilder *builder, OH_AudioInterrupt_Mode mode) 设置流客户端的中断模式。
OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererWriteDataCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_OnWriteDataCallback callback, void *userData) 设置写入音频数据的回调。

类型定义说明

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_AudioDeviceDescriptor

typedef struct OH_AudioDeviceDescriptor OH_AudioDeviceDescriptor

描述 声明音频设备描述符。

该实例用于获取更多音频设备详细信息属性。

起始版本: 12

OH_AudioDeviceDescriptorArray

typedef struct OH_AudioDeviceDescriptorArray OH_AudioDeviceDescriptorArray

描述 声明音频设备描述符数组。

起始版本: 12

OH_AudioManager

typedef struct OH_AudioManager OH_AudioManager

描述 声明音频管理器。

用于管理音频管理相关功能。

起始版本: 12

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_AudioRenderer_OnMarkReachedCallback

typedef void (*OH_AudioRenderer_OnMarkReachedCallback)(OH_AudioRenderer *renderer, uint32_t samplePos, void *userData)

描述 到达标记位置时回调。

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
samplePos 设置目标标记位置。
userData 指向通过回调函数传递的应用数据指针。

OH_AudioRenderer_OnWriteDataCallback

typedef OH_AudioData_Callback_Result(* OH_AudioRenderer_OnWriteDataCallback)(OH_AudioRenderer *renderer, void *userData, void *audioData, int32_t audioDataSize)

描述 该函数指针将指向用于写入音频数据的回调函数。

回调函数仅用来写入音频数据,请勿在回调函数中调用AudioRenderer相关接口。

该函数类似于 OH_AudioRenderer_Callbacks_Struct.OH_AudioRenderer_OnWriteData 函数指针。但具有返回值,用于标识音频数据回调结果。 该函数的返回结果表示填充到缓冲区的数据是否有效。如果结果无效,用户填写的数据将不被播放。回调函数结束后,音频服务会把audioData指针数据放入队列里等待播放,因此请勿在回调外再次更改audioData指向的数据, 且务必保证往audioData填满audioDataSize长度的待播放数据, 否则会导致音频服务播放杂音。参数audioDataSize可以通过OH_AudioStreamBuilder_SetFrameSizeInCallBack()设置。

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

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
userData 指向通过回调函数传递的应用数据指针。
audioData 指向用户写入的音频数据的指针。
audioDataSize 用户写入的音频数据的数据长度,以字节为单位。

返回:

函数返回值OH_AudioData_Callback_Result

AUDIO_DATA_CALLBACK_RESULT_INVALID:音频数据回调结果无效,且音频数据不播放。

AUDIO_DATA_CALLBACK_RESULT_VALID:音频数据回调结果有效,将播放音频数据。

参见:

OH_AudioRenderer_Callbacks_Struct.OH_AudioRenderer_OnWriteData

OH_AudioRenderer_OutputDeviceChangeCallback

typedef void (*OH_AudioRenderer_OutputDeviceChangeCallback)(OH_AudioRenderer *renderer, void *userData, OH_AudioStream_DeviceChangeReason reason)

描述 输出音频流设备变更的回调函数。

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

起始版本: 11

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
userData 指向通过回调函数传递的应用数据指针。
reason 流设备变更原因。

OH_AudioRenderer_WriteDataWithMetadataCallback

typedef int32_t (*OH_AudioRenderer_WriteDataWithMetadataCallback)(OH_AudioRenderer *renderer, void *userData, void *audioData, int32_t audioDataSize, void *metadata, int32_t metadataSize)

描述 该函数指针将指向用于同时写入音频数据和元数据的回调函数。

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

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
userData 指向通过回调函数传递的应用数据指针。
audioData 指向用户写入的音频数据的指针。
audioDataSize 用户写入的音频数据的数据长度,以字节为单位。
metadata 指向用户写入的元数据的指针。
metadataSize 用户写入的元数据的数据长度,以字节为单位。

返回:

用户返回的回调函数的错误码。

OH_AudioRoutingManager

typedef struct OH_AudioRoutingManager OH_AudioRoutingManager

描述 声明音频路由管理器,用于路由和设备相关功能的音频路由管理器的句柄。

起始版本: 12

OH_AudioRoutingManager_OnDeviceBlockStatusCallback

typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)(OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, OH_AudioDevice_BlockStatus status, void *userData);

描述 此函数指针将指向用于返回音频设备堵塞状态的回调函数,可能返回多个音频设备描述符。

起始版本: 13

参数:

名称 描述
audioDeviceDescriptorArray 音频设备描述符数组应当被释放,获取请调用OH_AudioRoutingManager_GetDevices接口。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针,而是调用OH_AudioRoutingManager_ReleaseDevices来释放DeviceDescriptor数组。
status 音频设备的堵塞状态OH_AudioDevice_BlockStatus
userData 用户自定义数据指针。

OH_AudioRoutingManager_OnDeviceChangedCallback

typedef int32_t (*OH_AudioRoutingManager_OnDeviceChangedCallback)(OH_AudioDevice_ChangeType type, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray)

描述 此函数指针将指向用于返回更改的音频设备描述符的回调函数,可能返回多个音频设备描述符。

起始版本: 12

参数:

名称 描述
type 设备连接状态类型。 OH_AudioDevice_ChangeType 已连接或断开。
audioDeviceDescriptorArray 音频设备描述符数组OH_AudioDeviceDescriptorArray。设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用OH_AudioRoutingManager_ReleaseDevices来释放DeviceDescriptor数组。

OH_AudioSession_DeactivatedCallback

typedef int32_t (*OH_AudioSession_DeactivatedCallback)(OH_AudioSession_DeactivatedEvent event)

描述 这个函数指针将指向用于监听音频会话停用事件的回调函数。

起始版本: 12

参数:

名称 描述
event 指向OH_AudioSession_Deactivated_Event音频会话已停用事件。

OH_AudioSession_DeactivatedEvent

typedef struct OH_AudioSession_DeactivatedEventOH_AudioSession_DeactivatedEvent

描述 音频会话已停用事件。

起始版本: 12

OH_AudioSession_Strategy

typedef struct OH_AudioSession_Strategy OH_AudioSession_Strategy

描述 音频会话策略。

起始版本: 12

OH_AudioSessionManager

typedef struct OH_AudioSessionManager OH_AudioSessionManager

描述 声明音频会话管理器。

用于管理音频会话相关功能。

起始版本: 12

OH_AudioStreamBuilder

typedef struct OH_AudioStreamBuilderStruct OH_AudioStreamBuilder

描述 声明音频流的构造器。

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

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

起始版本: 10

枚举类型说明

OH_AudioCommon_Result

enum OH_AudioCommon_Result

描述 音频错误码。

起始版本: 12

枚举值 描述
AUDIOCOMMON_RESULT_SUCCESS 操作成功。
AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM 入参错误。
AUDIOCOMMON_RESULT_ERROR_NO_MEMORY 无内存。
AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE 非法状态。
AUDIOCOMMON_RESULT_ERROR_UNSUPPORTED 操作不支持。
AUDIOCOMMON_RESULT_ERROR_TIMEOUT 操作超时。
AUDIOCOMMON_RESULT_ERROR_STREAM_LIMIT 达到系统可支持的最大数量。
AUDIOCOMMON_RESULT_ERROR_SYSTEM 系统通用错误。

OH_AudioData_Callback_Result

enum OH_AudioData_Callback_Result

描述 定义音频数据回调结果。

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

起始版本: 12

枚举值 描述
AUDIO_DATA_CALLBACK_RESULT_INVALID 表示音频数据回调结果无效,且音频数据不播放。
AUDIO_DATA_CALLBACK_RESULT_VALID 表示音频数据回调结果有效,将播放音频数据。

OH_AudioDevice_BlockStatus

enum OH_AudioDevice_BlockStatus

描述 声明音频设备的堵塞状态。默认情况下,音频设备被视为未堵塞。

起始版本: 13

枚举值 描述
AUDIO_DEVICE_UNBLOCKED 音频设备未被堵塞。
AUDIO_DEVICE_BLOCKED 音频设备被堵塞。

OH_AudioDevice_ChangeType

enum OH_AudioDevice_ChangeType

描述 定义音频设备更改类型。

起始版本: 12

枚举值 描述
AUDIO_DEVICE_CHANGE_TYPE_CONNECT 设备连接。
AUDIO_DEVICE_CHANGE_TYPE_DISCONNECT 设备断开。

OH_AudioDevice_Flag

enum OH_AudioDevice_Flag

描述 定义音频设备标志。

起始版本: 12

枚举值 描述
AUDIO_DEVICE_FLAG_NONE 无设备。
AUDIO_DEVICE_FLAG_OUTPUT 输出设备。
AUDIO_DEVICE_FLAG_INPUT 输入设备。
AUDIO_DEVICE_FLAG_ALL 所有设备。

OH_AudioDevice_Role

enum OH_AudioDevice_Role

描述 定义音频设备角色。

起始版本: 12

枚举值 描述
AUDIO_DEVICE_ROLE_INPUT 输入设备。
AUDIO_DEVICE_ROLE_OUTPUT 输出设备。

OH_AudioDevice_Type

enum OH_AudioDevice_Type

描述 定义音频设备类型。

起始版本: 12

枚举值 描述
AUDIO_DEVICE_TYPE_INVALID 无效设备。
AUDIO_DEVICE_TYPE_EARPIECE 内置听筒。
AUDIO_DEVICE_TYPE_SPEAKER 内置扬声器。
AUDIO_DEVICE_TYPE_WIRED_HEADSET 带话筒的耳机。
AUDIO_DEVICE_TYPE_WIRED_HEADPHONES 无话筒的耳机。
AUDIO_DEVICE_TYPE_BLUETOOTH_SCO 使用面向同步连接链路(SCO)的蓝牙设备。
AUDIO_DEVICE_TYPE_BLUETOOTH_A2DP 使用高级音频分布模式(A2DP)的蓝牙设备。
AUDIO_DEVICE_TYPE_MIC 内置麦克风。
AUDIO_DEVICE_TYPE_USB_HEADSET USB音频耳机。
AUDIO_DEVICE_TYPE_DISPLAY_PORT 显示端口(DisplayPort)设备。
AUDIO_DEVICE_TYPE_REMOTE_CAST 音频被系统应用投送到其他远程的设备。
AUDIO_DEVICE_TYPE_DEFAULT 默认设备类型。

OH_AudioDevice_Usage

enum OH_AudioDevice_Usage

描述 定义可获取的设备种类。

起始版本: 12

枚举值 描述
AUDIO_DEVICE_USAGE_MEDIA_OUTPUT 媒体输出设备。
AUDIO_DEVICE_USAGE_MEDIA_INPUT 媒体输入设备。
AUDIO_DEVICE_USAGE_MEDIA_ALL 所有媒体设备。
AUDIO_DEVICE_USAGE_CALL_OUTPUT 通话输出设备。
AUDIO_DEVICE_USAGE_CALL_INPUT 通话输入设备。
AUDIO_DEVICE_USAGE_CALL_ALL 所有通话设备。

OH_AudioInterrupt_ForceType

enum OH_AudioInterrupt_ForceType

描述 定义音频中断类型。

当用户监听到音频中断时,将获取此信息。

此类型表示本次音频打断的操作是否已由系统强制执行,具体操作信息(如音频暂停、停止等)可通过OH_AudioInterrupt_Hint获取。

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

起始版本: 10

枚举值 描述
AUDIOSTREAM_INTERRUPT_FORCE 强制打断类型,即具体操作已由系统强制执行。
AUDIOSTREAM_INTERRUPT_SHARE 共享打断类型,即系统不执行具体操作,通过OH_AudioInterrupt_Hint提示并建议应用操作,应用可自行决策下一步处理方式。

OH_AudioInterrupt_Hint

enum OH_AudioInterrupt_Hint

描述 定义音频中断提示类型。

当用户监听到音频中断时,将获取此信息。

此类型表示根据焦点策略,当前需要对音频流的具体操作(如暂停、调整音量等)。可以结合OH_AudioInterrupt_ForceType信息,判断该操作是否已由系统强制执行。

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

起始版本: 10

枚举值 描述
AUDIOSTREAM_INTERRUPT_HINT_NONE 不提示。
AUDIOSTREAM_INTERRUPT_HINT_RESUME 提示音频恢复,应用可主动触发开始渲染或开始采集的相关操作。
此操作无法由系统强制执行,其对应的OH_AudioInterrupt_ForceType一定为AUDIOSTREAM_INTERRUPT_SHARE类型。
AUDIOSTREAM_INTERRUPT_HINT_PAUSE 提示音频暂停,暂时失去音频焦点。
后续待焦点可用时,会出现AUDIOSTREAM_INTERRUPT_HINT_RESUME事件。
AUDIOSTREAM_INTERRUPT_HINT_STOP 提示音频停止,彻底失去音频焦点。
AUDIOSTREAM_INTERRUPT_HINT_DUCK 提示音频躲避开始,音频降低音量播放,而不会停止。
AUDIOSTREAM_INTERRUPT_HINT_UNDUCK 提示音量躲避结束,音频恢复正常音量。

OH_AudioInterrupt_Mode

enum OH_AudioInterrupt_Mode

描述 定义音频中断模式。

通常用来设置音频中断模式。

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

起始版本: 12

枚举值 描述
AUDIOSTREAM_INTERRUPT_MODE_SHARE 共享模式。
AUDIOSTREAM_INTERRUPT_MODE_INDEPENDENT 独立模式。

OH_AudioScene

enum OH_AudioScene

描述 定义音频场景。

起始版本: 12

枚举值 描述
AUDIO_SCENE_DEFAULT 默认音频场景。
AUDIO_SCENE_RINGING 响铃场景。
AUDIO_SCENE_PHONE_CALL 电话场景。
AUDIO_SCENE_VOICE_CHAT 语音聊天场景。

OH_AudioSession_ConcurrencyMode

enum OH_AudioSession_ConcurrencyMode

描述 音频并发模式。

起始版本: 12

枚举值 描述
CONCURRENCY_DEFAULT 默认使用系统策略。
CONCURRENCY_MIX_WITH_OTHERS 和其它正在播放应用进行混音。
CONCURRENCY_DUCK_OTHERS 后来播放应用压低正在播放应用的音量。
CONCURRENCY_PAUSE_OTHERS 后来播放应用暂停正在播放应用。

OH_AudioSession_DeactivatedReason

enum OH_AudioSession_DeactivatedReason

描述 音频会话停用原因。

起始版本: 12

枚举值 描述
DEACTIVATED_LOWER_PRIORITY 应用焦点被抢占。
DEACTIVATED_TIMEOUT 应用停流后超时。

OH_AudioStream_AudioEffectMode

enum OH_AudioStream_AudioEffectMode

描述 定义音效模式。

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

起始版本: 12

枚举值 描述
EFFECT_NONE 无音效模式。
EFFECT_DEFAULT 默认音效模式。

OH_AudioStream_DeviceChangeReason

enum OH_AudioStream_DeviceChangeReason

描述 流设备变更原因。

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

起始版本: 11

枚举值 描述
REASON_UNKNOWN 未知原因。
REASON_NEW_DEVICE_AVAILABLE 新设备可用。
REASON_OLD_DEVICE_UNAVAILABLE 旧设备不可用。当报告此原因时,应用程序应考虑暂停音频播放。
REASON_OVERRODE 用户或系统强制选择切换。

OH_AudioStream_EncodingType

enum OH_AudioStream_EncodingType

描述 定义音频流编码类型。

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

起始版本: 10

枚举值 描述
AUDIOSTREAM_ENCODING_TYPE_RAW PCM编码。
AUDIOSTREAM_ENCODING_TYPE_AUDIOVIVID AudioVivid编码。
起始版本: 12

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_PrivacyType

enum OH_AudioStream_PrivacyType

描述 用于标识对应播放音频流是否支持被其他应用录制。

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

起始版本: 12

枚举值 描述
AUDIO_STREAM_PRIVACY_TYPE_PUBLIC 表示音频流可以被其他应用录制。
AUDIO_STREAM_PRIVACY_TYPE_PRIVATE 表示音频流不可以被其他应用录制。

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位小端。
AUDIOSTREAM_SAMPLE_F32LE Float 32位小端。
起始版本: 17

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 通话。
AUDIOSTREAM_SOURCE_TYPE_CAMCORDER 录像。
起始版本: 13

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_RENDERER 该类型代表音频流是输出流。
AUDIOSTREAM_TYPE_CAPTURER 该类型代表音频流是输入流。

OH_AudioStream_Usage

enum OH_AudioStream_Usage

描述 定义音频流使用场景。

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

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

起始版本: 10

枚举值 描述
AUDIOSTREAM_USAGE_UNKNOWN 未知类型。
AUDIOSTREAM_USAGE_MUSIC 音乐。
AUDIOSTREAM_USAGE_VOICE_COMMUNICATION VoIP语音通话。
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 导航。
AUDIOSTREAM_USAGE_VIDEO_COMMUNICATION VoIP视频通话。
起始版本: 12

OH_AudioStream_VolumeMode

enum OH_AudioStream_VolumeMode

描述

定义音频流音量模式。

起始版本: 18

枚举值 描述
AUDIOSTREAM_VOLUMEMODE_SYSTEM_GLOBAL 系统级音量(默认模式)。
AUDIOSTREAM_VOLUMEMODE_APP_INDIVIDUAL 应用级音量(设置为该模式后可以通过提供的接口设置、查询应用音量)。

函数说明

OH_AudioCapturer_Flush()

OH_AudioStream_Result OH_AudioCapturer_Flush(OH_AudioCapturer *capturer)

描述 丢弃获取的音频数据。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

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 指向一个用来接收输入类型音频流的工作场景的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向一个用来接收音频流通道数的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向一个用来接收音频流状态的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向一个用来接收音频流编码类型的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向将为帧大小设置的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

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 指向将为帧计数设置的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向一个用来接收音频流时延模式的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

OH_AudioCapturer_GetOverflowCount()

OH_AudioStream_Result OH_AudioCapturer_GetOverflowCount(OH_AudioCapturer *capturer, uint32_t *count)

描述 查询当前录制音频流过载数。

起始版本: 12

参数:

名称 描述
capturer 指向OH_AudioStreamBuilder_GenerateCapturer创建的音频流实例。
count 指向一个用来接收音频流过载数的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向一个用来接收音频流采样格式的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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 指向一个用来接收音频流采样率的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

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的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

OH_AudioCapturer_GetTimestamp()

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

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

该接口可以获取到音频通道实际录制位置(framePosition)以及录制到该位置时候的时间戳(timestamp),时间戳单位为纳秒。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数capturer为nullptr;
  2. 参数clockId无效。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioCapturer_Pause()

OH_AudioStream_Result OH_AudioCapturer_Pause(OH_AudioCapturer *capturer)

描述 暂停输入音频流。

起始版本: 10

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

参数:

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

需要权限:

ohos.permission.MICROPHONE

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioCapturer_Release()

OH_AudioStream_Result OH_AudioCapturer_Release(OH_AudioCapturer *capturer)

描述 释放输入音频流。

起始版本: 10

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

参数:

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

需要权限:

ohos.permission.MICROPHONE

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioCapturer_Start()

OH_AudioStream_Result OH_AudioCapturer_Start(OH_AudioCapturer *capturer)

描述 开始获取音频数据。

起始版本: 10

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

参数:

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

需要权限:

ohos.permission.MICROPHONE

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioCapturer_Stop()

OH_AudioStream_Result OH_AudioCapturer_Stop(OH_AudioCapturer *capturer)

描述 停止输入音频流。

起始版本: 10

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

参数:

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

需要权限:

ohos.permission.MICROPHONE

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数capturer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioDeviceDescriptor_GetDeviceAddress()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceAddress(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **address)

描述 查询目标音频设备描述符的设备地址。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
address 设备MAC地址指针,将设置设备MAC地址值的变量。 不要单独释放音频设备MAC地址指针,而是调用OH_AudioRoutingManager_ReleaseDevices,以便在不再使用时释放所有DeviceDescriptor数组。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceChannelCounts()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceChannelCounts(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t **channelCounts, uint32_t *size)

描述 查询目标音频设备描述符的设备通道计数数组。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
channelCounts 数组指针变量,该变量将设置通道计数数组值。 不要单独释放音频设备通道数指针,而是调用OH_AudioRoutingManager_ReleaseDevices,以便在不再使用时释放所有DeviceDescriptor数组。
size 设置通道计数大小值的指针变量。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceDisplayName()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceDisplayName(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **displayName)

描述 查询目标音频设备描述符的显示名称。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
displayName 设置显示名称值的指针变量。 不要单独释放音频设备显示名称指针,而是调用OH_AudioRoutingManager_ReleaseDevices,以便在不再使用时释放所有DeviceDescriptor数组。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceEncodingTypes()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceEncodingTypes(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioStream_EncodingType **encodingTypes, uint32_t *size)

描述 查询目标音频设备描述符的编码类型数组。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
encodingTypes 音频设备编码类型。 OH_AudioStream_EncodingType 不要单独释放音频设备编码类型指针,而是调用OH_AudioRoutingManager_ReleaseDevices,以便在不再使用时释放所有DeviceDescriptor数组。
size 设置编码类型大小值的指针变量。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceId()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceId(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t *id)

描述 查询目标音频设备描述符的设备id。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
id 设备id指针,将设置设备角色值的变量。

返回:

AUDIODEVICE_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceName()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceName(OH_AudioDeviceDescriptor *audioDeviceDescriptor, char **name)

描述 查询目标音频设备描述符的设备名称。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
name 设备名称指针,将设置设备名称值的变量。 不要单独释放音频设备名称指针,而是调用OH_AudioRoutingManager_ReleaseDevices,以便在不再使用时释放所有DeviceDescriptor数组。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceRole()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceRole(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioDevice_Role *deviceRole)

描述 查询目标音频设备描述符的设备角色。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
deviceRole 设备角色指针。 OH_AudioDevice_Role 将设置设备角色值的变量。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceSampleRates()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceSampleRates(OH_AudioDeviceDescriptor *audioDeviceDescriptor, uint32_t **sampleRates, uint32_t *size)

描述 查询目标音频设备描述符的采样率数组。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
sampleRates 设置采样率数组值的数组指针变量。 不要单独释放音频设备采样率指针,而是调用OH_AudioRoutingManager_ReleaseDevices,以便在不再使用时释放所有DeviceDescriptor数组。
size 设置采样率大小值的指针变量。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioDeviceDescriptor_GetDeviceType()

OH_AudioCommon_Result OH_AudioDeviceDescriptor_GetDeviceType(OH_AudioDeviceDescriptor *audioDeviceDescriptor, OH_AudioDevice_Type *deviceType)

描述 查询目标音频设备描述符的设备类型。

起始版本: 12

参数:

名称 描述
audioDeviceDescriptor 音频设备描述符。通过 OH_AudioRoutingManager_GetDevices 或者 OH_AudioRouterManager_OnDeviceChangedCallback获取。
deviceType 设备类型指针。 OH_AudioDevice_Type 将设置设备类型值的变量。

返回:

AUDIOCOMMON_RESULT_SUCCESS 或 AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM

OH_AudioManager_GetAudioRoutingManager()

OH_AudioCommon_Result OH_AudioManager_GetAudioRoutingManager(OH_AudioRoutingManager **audioRoutingManager)

描述 查询音频路由管理器句柄,该句柄应设置为路由相关函数中的第一个参数。

起始版本: 12

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。 通过OH_AudioManager_GetAudioRoutingManager获取句柄。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

OH_AudioManager_GetAudioSessionManager()

OH_AudioCommon_Result OH_AudioManager_GetAudioSessionManager(OH_AudioSessionManager **audioSessionManager)

描述 获取音频会话管理器。

使用音频会话管理器相关功能,首先需要获取音频会话管理器实例。

起始版本: 12

参数:

名称 描述
audioSessionManager 指向OH_AudioSessionManager音频会话管理器实例。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。

OH_AudioRenderer_CancelMark()

OH_AudioStream_Result OH_AudioRenderer_CancelMark(OH_AudioRenderer *renderer)

描述 取消由OH_AudioRenderer_SetMarkPosition设置的标记。

起始版本: 12

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_Flush()

OH_AudioStream_Result OH_AudioRenderer_Flush(OH_AudioRenderer *renderer)

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

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioRenderer_GetAudioTimestampInfo()

OH_AudioStream_Result OH_AudioRenderer_GetAudioTimestampInfo(OH_AudioRenderer* renderer, int64_t* framePosition, int64_t* timestamp)

描述

获取输出音频流时间戳和位置信息,适配倍速接口。

获取输出音频流时间戳和位置信息,通常用于进行音画同步对齐。

注意,当实际播放位置(framePosition)为0时,时间戳(timestamp)是固定值,直到流真正跑起来时才会更新。当调用Flush接口时实际播放位置也会被重置。 当音频流路由(route)变化时,例如设备变化或者输出类型变化时,播放位置也会被重置,但此时时间戳仍会持续增长。

推荐当实际播放位置和时间戳都稳定后再调用该接口获取相应值。

该接口适配倍速接口,例如当播放速度设置为2倍时,实际播放位置也会返回为正常的2倍。

起始版本: 15

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
framePosition 指向要接收位置的变量的指针(作为返回值使用)。
timestamp 指向接收时间戳的变量的指针(作为返回值使用)。

返回:

函数返回值OH_AudioStream_Result

AUDIOSTREAM_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr。
  2. 参数framePosition或timestamp为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:当前流状态不为合法状态时返回。

AUDIOSTREAM_ERROR_SYSTEM:

  1. 系统进程崩溃或被阻塞。
  2. 内部系统其他错误。

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 指向一个用来接收音频流通道数的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_GetChannelLayout()

OH_AudioStream_Result OH_AudioRenderer_GetChannelLayout(OH_AudioRenderer *renderer, OH_AudioChannelLayout *channelLayout)

描述 查询当前音频流声道布局。

起始版本: 12

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
channelLayout 指向一个用来接收音频流声道布局的变量的指针,具体参考OH_AudioChannelLayout

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向一个用来接收音频流状态的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_GetEffectMode()

OH_AudioStream_Result OH_AudioRenderer_GetEffectMode(OH_AudioRenderer *renderer, OH_AudioStream_AudioEffectMode *effectMode)

描述 查询当前音频流音效模式。

起始版本: 12

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向一个用来接收音频流编码类型的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向将为帧大小设置的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向将为帧计数设置的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向一个用来接收音频流时延模式的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向一个用来接收输出类型音频流的工作场景的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_GetRendererPrivacy()

OH_AudioStream_Result OH_AudioRenderer_GetRendererPrivacy(OH_AudioRenderer *renderer, OH_AudioStream_PrivacyType *privacy)

描述 查询当前播放音频流是否会被其它应用录制。

起始版本: 12

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
privacy 用于返回当前流的内录策略。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向一个用来接收音频流采样格式的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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 指向一个用来接收音频流采样率的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_GetSilentModeAndMixWithOthers()

OH_AudioStream_Result OH_AudioRenderer_GetSilentModeAndMixWithOthers(OH_AudioRenderer *renderer, bool *on)

描述 查询当前音频流是否开启静音并发播放。

起始版本: 12

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
on 用于返回当前流的静音并发状态。

返回:

函数返回值OH_AudioStream_Result

AUDIOSTREAM_SUCCESS 函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM 参数renderer为nullptr。

OH_AudioRenderer_GetSpeed()

OH_AudioStream_Result OH_AudioRenderer_GetSpeed(OH_AudioRenderer * renderer, float * speed)

描述 获取音频渲染速率。

起始版本: 11

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
speed 指向接收播放倍速值的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

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的变量。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_GetTimestamp()

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

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

该接口可以获取到音频通道实际播放位置(framePosition)以及播放到该位置时的时间戳(timestamp),时间戳单位为纳秒。

当设备切换或暂停恢复时,由于播放通路本身需要一段时间恢复,调用该接口获取的播放位置和时间戳会短暂地保持在切换或暂停前的状态。

该接口一般用来实现音画同步,建议频率不要太频繁,可以每分钟一次,最好不要低于200ms一次。频繁调用可能会带来功耗问题,因此在能保证音画同步效果的情况下,不需要频繁的查询时间戳。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数clockId无效。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioRenderer_GetUnderflowCount()

OH_AudioStream_Result OH_AudioRenderer_GetUnderflowCount(OH_AudioRenderer *renderer, uint32_t *count)

描述 查询当前播放音频流欠载数。

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
count 指向一个用来接收音频流欠载数的变量的指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数count为nullptr。

OH_AudioRenderer_GetVolume()

OH_AudioStream_Result OH_AudioRenderer_GetVolume(OH_AudioRenderer *renderer, float *volume)

描述 获取当前音频流音量值。

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

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
volume 指向一个获取当前音频流音量值的指针。音量值的范围是[0.0, 1.0]。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数volume为nullptr。

OH_AudioRenderer_Pause()

OH_AudioStream_Result OH_AudioRenderer_Pause(OH_AudioRenderer *renderer)

描述 暂停输出音频流。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioRenderer_Release()

OH_AudioStream_Result OH_AudioRenderer_Release(OH_AudioRenderer *renderer)

描述 释放输出音频流。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioRenderer_SetDefaultOutputDevice()

OH_AudioStream_Result OH_AudioRenderer_SetDefaultOutputDevice(OH_AudioRenderer* renderer, OH_AudioDevice_Type deviceType)

描述 设置默认本机内置发声设备。

本接口仅适用于音频流类型OH_AudioStream_Usage为语音消息、VoIP语音通话或者VoIP视频通话的场景使用,以及可选的设备类型为听筒、扬声器和系统默认设备。

本接口允许在AudioRenderer创建以后的任何时间被调用,系统会记录应用设置的默认本机内置发声设备。在应用启动播放时,若有外接设备如蓝牙耳机/有线耳机接入,系统优先从外接设备发声;否则系统遵循应用设置的默认本机内置发声设备发声。

起始版本: 12

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

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
deviceType 指向OH_AudioDevice_Type用于设置发声设备类型。
可设置的设备类型包括:
AUDIO_DEVICE_TYPE_EARPIECE: 听筒
AUDIO_DEVICE_TYPE_SPEAKER: 扬声器
AUDIO_DEVICE_TYPE_DEFAULT: 系统默认设备

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数deviceType无效。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。

OH_AudioRenderer_SetEffectMode()

OH_AudioStream_Result OH_AudioRenderer_SetEffectMode(OH_AudioRenderer *renderer, OH_AudioStream_AudioEffectMode effectMode)

描述 设置当前音频流音效模式。

起始版本: 12

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
effectMode 设置当前音频流的目标音效模式。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_SetMarkPosition()

OH_AudioStream_Result OH_AudioRenderer_SetMarkPosition(OH_AudioRenderer *renderer, uint32_t samplePos, OH_AudioRenderer_OnMarkReachedCallback callback, void *userData)

描述 在当前渲染器上设置标记位置。调用此函数将覆盖已设置的标记位置。

起始版本: 12

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
samplePos 设置目标标记位置。
callback 当到达目标标记位置时回调OH_AudioRenderer_OnMarkReachedCallback
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数samplePos无效。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。

OH_AudioRenderer_SetSilentModeAndMixWithOthers()

OH_AudioStream_Result OH_AudioRenderer_SetSilentModeAndMixWithOthers(OH_AudioRenderer *renderer, bool on)

描述 设置静音并发播放模式。

起始版本: 12

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
on 设置当前音频流的静音并发状态。 true: 设置当前播放的音频流静音播放,并且不会打断其它音频流播放。 false: 取消当前播放的音频流静音播放,音频流可根据系统焦点策略抢占焦点。

返回:

函数返回值OH_AudioStream_Result

AUDIOSTREAM_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_SetSpeed()

OH_AudioStream_Result OH_AudioRenderer_SetSpeed(OH_AudioRenderer *renderer, float speed)

描述 设置音频渲染速率。

起始版本: 11

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

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
speed 设置播放的倍速值(倍速范围:0.25-4.0)。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

OH_AudioRenderer_SetVolume()

OH_AudioStream_Result OH_AudioRenderer_SetVolume(OH_AudioRenderer *renderer, float volume)

描述 设置当前音频流音量值。

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

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
volume 设置当前音频流音量,音量值的范围是[0.0, 1.0]。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数volume无效。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。

OH_AudioRenderer_SetVolumeWithRamp()

OH_AudioStream_Result OH_AudioRenderer_SetVolumeWithRamp(OH_AudioRenderer *renderer, float volume, int32_t durationMs)

描述 在指定时间范围内使用渐变更改音量。

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

起始版本: 12

参数:

名称 描述
renderer 指向OH_AudioStreamBuilder_GenerateRenderer创建的音频流实例。
volume 目标音量值,取值范围[0.0, 1.0]。
durationMs 音量渐变的持续时间,以毫秒为单位。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数renderer为nullptr;
  2. 参数volume无效。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

AUDIOSTREAM_ERROR_SYSTEM:出现系统错误。

OH_AudioRenderer_Start()

OH_AudioStream_Result OH_AudioRenderer_Start(OH_AudioRenderer *renderer)

描述 开始输出音频数据。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOSTREAM_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数renderer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioRenderer_Stop()

OH_AudioStream_Result OH_AudioRenderer_Stop(OH_AudioRenderer *renderer)

描述 停止输出音频流。

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数renderer为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

OH_AudioRoutingManager_GetAvailableDevices()

OH_AudioCommon_Result OH_AudioRoutingManager_GetAvailableDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Usage deviceUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)

描述 获取音频可选设备列表。

起始版本: 12

参数:

名称 描述
audioRoutingManager 指向OH_AudioManager_GetAudioRoutingManager创建的音频路由管理器实例: OH_AudioRoutingManager
deviceUsage 指向OH_AudioDevice_Usage用于设置要获取的设备种类。
audioDeviceDescriptorArray 音频设备描述符数组。OH_AudioDeviceDescriptorArray 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用OH_AudioRoutingManager_ReleaseDevices来释放DeviceDescriptor数组。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数deviceUsage无效;
  3. 参数audioDeviceDescriptorArray为nullptr。

AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。

OH_AudioRoutingManager_GetDevices()

OH_AudioCommon_Result OH_AudioRoutingManager_GetDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)

描述 根据输入的deviceFlag查询可用的设备。

起始版本: 12

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。通过OH_AudioManager_GetAudioRoutingManager获取句柄。
deviceFlag 音频设备标志OH_AudioDevice_Flag,用于选择目标设备的滤波器参数。
audioDeviceDescriptorArray 音频设备描述符数组OH_AudioDeviceDescriptorArray。 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用OH_AudioRoutingManager_ReleaseDevices来释放DeviceDescriptor数组。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数deviceFlag无效;
  3. 参数audioDeviceDescriptorArray为nullptr。

AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。

OH_AudioRoutingManager_GetPreferredInputDevice()

OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredInputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_SourceType sourceType, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)

描述 根据音频输入流的使用场景,获取优先级最高的输入设备。

起始版本: 12

参数:

名称 描述
audioRoutingManager 指向OH_AudioManager_GetAudioRoutingManager创建的音频路由管理器实例: OH_AudioRoutingManager
sourceType 指向OH_AudioStream_SourceType用于设置音频输入流的使用场景。
audioDeviceDescriptorArray 音频设备描述符数组。OH_AudioDeviceDescriptorArray 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用OH_AudioRoutingManager_ReleaseDevices来释放DeviceDescriptor数组。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数sourceType无效;
  3. 参数audioDeviceDescriptorArray为nullptr。

AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。

OH_AudioRoutingManager_GetPreferredOutputDevice()

OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredOutputDevice(OH_AudioRoutingManager *audioRoutingManager, OH_AudioStream_Usage streamUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray)

描述 根据音频输出流的使用场景,获取优先级最高的输出设备。

起始版本: 12

参数:

名称 描述
audioRoutingManager 指向OH_AudioManager_GetAudioRoutingManager创建的音频路由管理器实例: OH_AudioRoutingManager
streamUsage 指向OH_AudioStream_Usage用于设置音频输出流的使用场景。
audioDeviceDescriptorArray 音频设备描述符数组。OH_AudioDeviceDescriptorArray 设置音频设备描述符值的指针变量,不要单独释放audioDeviceDescriptorArray指针, 而是调用OH_AudioRoutingManager_ReleaseDevices来释放DeviceDescriptor数组。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数streamUsage无效;
  3. 参数audioDeviceDescriptorArray为nullptr。

AUDIOCOMMON_RESULT_ERROR_NO_MEMORY:内存不足。

OH_AudioRoutingManager_IsMicBlockDetectionSupported()

OH_AudioCommon_Result OH_AudioRoutingManager_IsMicBlockDetectionSupported(OH_AudioRoutingManager *audioRoutingManager, bool *supported)

描述 查询当前设备是否支持麦克风堵塞状态检测。

起始版本: 13

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。获取句柄通过OH_AudioManager_GetAudioRoutingManager
supported 查询结果。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数supported为nullptr。

OH_AudioRoutingManager_RegisterDeviceChangeCallback()

OH_AudioCommon_Result OH_AudioRoutingManager_RegisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDevice_Flag deviceFlag, OH_AudioRoutingManager_OnDeviceChangedCallback callback)

描述 注册音频路由管理器的设备更改回调。 起始版本: 12

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。通过OH_AudioManager_GetAudioRoutingManager获取句柄。
deviceFlag 音频设备标志OH_AudioDevice_Flag,用来注册回调。
callback 函数指针将指向用于返回更改的音频设备描述符的回调函数OH_AudioRoutingManager_OnDeviceChangedCallback

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数deviceFlag无效;
  3. 参数callback为nullptr。

OH_AudioRoutingManager_ReleaseDevices()

OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices(OH_AudioRoutingManager *audioRoutingManager, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray)

描述 释放音频设备描述符数组对象。

起始版本: 12

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。通过OH_AudioManager_GetAudioRoutingManager获取句柄。
audioDeviceDescriptorArray 音频设备描述符数组应当被释放,调用OH_AudioRoutingManager_GetDevices获取。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数audioDeviceDescriptorArray为nullptr。

OH_AudioRoutingManager_SetMicBlockStatusCallback()

OH_AudioCommon_Result OH_AudioRoutingManager_SetMicBlockStatusCallback(OH_AudioRoutingManager *audioRoutingManager OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData)

描述 设置麦克风是否堵塞状态回调。

在使用此功能之前,用户应查询当前设备是否支持检测,应用只有在使用麦克风录音时,并且所使用的麦克风的堵塞状态发生改变,才会收到回调,目前此检测功能仅支持麦克风位于本地设备上。

起始版本: 13

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。获取句柄通过OH_AudioManager_GetAudioRoutingManager
callback 函数指针将指向用于返回接受设备麦克风堵塞状态 OH_AudioRoutingManager_OnDeviceBlockStatusCallback
userData 用户自定义数据指针。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数callback为nullptr。

OH_AudioRoutingManager_UnregisterDeviceChangeCallback()

OH_AudioCommon_Result OH_AudioRoutingManager_UnregisterDeviceChangeCallback(OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceChangedCallback callback)

描述 取消注册音频路由管理器的设备更改回调。

起始版本: 12

参数:

名称 描述
audioRoutingManager 音频路由管理器句柄OH_AudioRoutingManager。通过OH_AudioManager_GetAudioRoutingManager获取句柄。
callback 函数指针将指向用于返回更改的音频设备描述符的回调函数OH_AudioRoutingManager_OnDeviceChangedCallback

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioRoutingManager为nullptr;
  2. 参数callback为nullptr。

OH_AudioSessionManager_ActivateAudioSession()

OH_AudioCommon_Result OH_AudioSessionManager_ActivateAudioSession(OH_AudioSessionManager *audioSessionManager, const OH_AudioSession_Strategy *strategy)

描述 激活音频会话。

起始版本: 12

参数:

名称 描述
audioSessionManager 指向OH_AudioManager_GetAudioSessionManager创建的音频会话管理实例:OH_AudioSessionManager
strategy 指向OH_AudioSession_Strategy用于设置音频会话策略。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioSessionManager为nullptr;
  2. 参数strategy无效。 AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE 非法状态。

OH_AudioSessionManager_DeactivateAudioSession()

OH_AudioCommon_Result OH_AudioSessionManager_DeactivateAudioSession(OH_AudioSessionManager *audioSessionManager)

描述 停用音频会话。

起始版本: 12

参数:

名称 描述
audioSessionManager 指向OH_AudioManager_GetAudioSessionManager创建的音频会话管理实例:OH_AudioSessionManager

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数audioSessionManager为nullptr。

AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE 非法状态。

OH_AudioSessionManager_IsAudioSessionActivated()

bool OH_AudioSessionManager_IsAudioSessionActivated(OH_AudioSessionManager *audioSessionManager)

描述 检查音频会话是否已激活。

起始版本: 12

参数:

名称 描述
audioSessionManager 指向OH_AudioManager_GetAudioSessionManager创建的音频会话管理实例:OH_AudioSessionManager

返回:

用于返回当前应用的音频会话是否已激活,true表示已激活,false表示已停用。

OH_AudioSessionManager_RegisterSessionDeactivatedCallback()

OH_AudioCommon_Result OH_AudioSessionManager_RegisterSessionDeactivatedCallback(OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback)

描述 注册音频会话停用事件回调。

起始版本: 12

参数:

名称 描述
audioSessionManager 指向OH_AudioManager_GetAudioSessionManager创建的音频会话管理实例 OH_AudioSessionManager
callback 指向OH_AudioSessionDeactivatedCallback,用于接收音频会话已停用事件。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioSessionManager为nullptr;
  2. 参数callback为nullptr。

OH_AudioSessionManager_UnregisterSessionDeactivatedCallback()

OH_AudioCommon_Result OH_AudioSessionManager_UnregisterSessionDeactivatedCallback(OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback)

描述 取消注册音频会话停用事件回调。

起始版本: 12

参数:

名称 描述
audioSessionManager 指向OH_AudioManager_GetAudioSessionManager创建的音频会话管理实例 OH_AudioSessionManager
callback 指向OH_AudioSessionDeactivatedCallback,用于接收音频会话已停用事件。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS 函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioSessionManager为nullptr;
  2. 参数callback为nullptr。

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_RENDERER or AUDIOSTREAM_TYPE_CAPTURER

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

OH_AudioStreamBuilder_Destroy()

OH_AudioStream_Result OH_AudioStreamBuilder_Destroy(OH_AudioStreamBuilder *builder)

描述 销毁一个音频流构造器。

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

起始版本: 10

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。

AUDIOSTREAM_ERROR_ILLEGAL_STATE:执行状态异常。

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 指向输入音频流实例的指针,将被用来接收函数创建的结果。

需要权限:

ohos.permission.MICROPHONE

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效;
  3. 创建OHAudioCapturer失败。

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 指向输出音频流实例的指针,将被用来接收函数创建的结果。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效;
  3. 创建OHAudioRenderer失败。

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 指向通过回调函数传递的应用数据指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效。

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 输入音频流属性,使用的工作场景。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. 参数sourceType无效。

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 音频流通道数。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. 参数channelCount无效。

OH_AudioStreamBuilder_SetChannelLayout()

OH_AudioStream_Result OH_AudioStreamBuilder_SetChannelLayout(OH_AudioStreamBuilder *builder, OH_AudioChannelLayout channelLayout)

描述 设置音频流的声道布局。

起始版本: 12

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

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
channelLayout 音频流声道布局,具体参考OH_AudioChannelLayout

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。

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 音频流编码类型。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。

OH_AudioStreamBuilder_SetFrameSizeInCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder *builder, int32_t frameSize)

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

  • 低时延播放:frameSize可设置为5ms、10ms、15ms、20ms音频数据对应的帧长。
  • 普通通路播放:frameSize可设置为20ms-100ms音频数据对应的帧长。

起始版本: 11

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。

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 音频流时延模式。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。

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 指向通过回调函数传递的应用数据指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效。

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 输出音频流属性,使用的工作场景。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. 参数usage无效。

OH_AudioStreamBuilder_SetRendererInterruptMode()

OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererInterruptMode(OH_AudioStreamBuilder *builder, OH_AudioInterrupt_Mode mode)

描述 设置流客户端的中断模式。

起始版本: 12

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

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
mode 音频中断模式OH_AudioInterrupt_Mode

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. 参数mode无效;
  3. StreamType无效。

OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererOutputDeviceChangeCallback(OH_AudioStreamBuilder * builder, OH_AudioRenderer_OutputDeviceChangeCallback callback, void * userData)

描述 设置输出音频流设备变更的回调。

起始版本: 11

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

参数:

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

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效。

OH_AudioStreamBuilder_SetRendererPrivacy()

OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererPrivacy(OH_AudioStreamBuilder * builder, OH_AudioStream_PrivacyType privacy)

描述 设置当前播放音频流是否会被其它应用录制。

起始版本: 12

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

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
privacy 标识对应播放音频流是否会被其它应用录制。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效。

OH_AudioStreamBuilder_SetRendererWriteDataCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetRendererWriteDataCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_OnWriteDataCallback callback, void *userData)

描述 设置写入音频数据的回调。

该函数类似于 OH_AudioStreamBuilder_SetRendererCallback。只有通过 OH_AudioStreamBuilder_SetRendererCallback或者此函数设置的最后一个回调函数才会被调用。

起始版本: 12

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

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
callback 将被用来写入音频数据的回调函数。
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOSTREAM_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效。

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 音频流采样格式。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:参数builder为nullptr。

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 音频流采样率。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。
  2. 参数rate无效。

OH_AudioStreamBuilder_SetVolumeMode()

OH_AudioStream_Result OH_AudioStreamBuilder_SetVolumeMode(OH_AudioStreamBuilder* builder, OH_AudioStream_VolumeMode volumeMode);

描述

设置音频流音量模式。

起始版本: 18

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

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
volumeMode 要设置的音频流音量模式。

返回:

函数返回值OH_AudioStream_Result

AUDIOSTREAM_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr。
  2. 参数volumeMode无效。

OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback()

OH_AudioStream_Result OH_AudioStreamBuilder_SetWriteDataWithMetadataCallback(OH_AudioStreamBuilder *builder, OH_AudioRenderer_WriteDataWithMetadataCallback callback, void *userData)

描述 设置同时写入音频数据和元数据的回调。

起始版本: 12

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

参数:

名称 描述
builder 指向OH_AudioStreamBuilder_Create()创建的构造器实例。
callback 将被用来同时写入音频数据和元数据的回调函数。
userData 指向通过回调函数传递的应用数据指针。

返回:

函数返回值OH_AudioStream_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOSTREAM_ERROR_INVALID_PARAM:

  1. 参数builder为nullptr;
  2. StreamType无效。

OH_GetAudioManager()

OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager ** audioManager)

描述 获取音频管理器。

使用音频管理器相关功能,首先需要获取音频管理器实例。

起始版本: 12

参数:

名称 描述
audioManager 指向OH_AudioManager用于接收创建的音频管理器实例。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:参数audioManager为nullptr。

OH_GetAudioScene()

OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager * manager, OH_AudioScene * scene)

描述 获取音频场景模式。

起始版本: 12

参数:

名称 描述
audioManager 指向OH_GetAudioManager创建的音频管理器实例:OH_AudioManager
scene 指向OH_AudioScene用于接收返回的音频场景模式。

返回:

函数返回值OH_AudioCommon_Result

AUDIOCOMMON_RESULT_SUCCESS:函数执行成功。

AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM:

  1. 参数audioManager为nullptr;
  2. 参数scene为nullptr。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
其他
1
https://gitee.com/openharmony/docs.git
git@gitee.com:openharmony/docs.git
openharmony
docs
docs
OpenHarmony-5.1.0-Release

搜索帮助