lowpower_audio_sink.h
概述
定义LowPowerAudioSink接口。使用LowPowerAudioSink提供的Native API进行音频通路的低功耗播放。
引用文件: <multimedia/player_framework/lowpower_audio_sink.h>
库: liblowpower_avsink.so
系统能力: SystemCapability.Multimedia.Media.LowPowerAVSink
起始版本: 20
相关模块: LowPowerAudioSink
汇总
函数
函数说明
OH_LowPowerAudioSink_CreateByMime()
OH_LowPowerAudioSink* OH_LowPowerAudioSink_CreateByMime(const char* mime)
描述
创建LowPowerAudioSink。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| const char* mime | 音频解码器MIME类型,取值范围请参考AVCODEC_MIME_TYPE。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_LowPowerAudioSink* | 如果创建成功返回指向OH_LowPowerAudioSink实例的指针,否则返回空指针。 |
OH_LowPowerAudioSink_Configure()
OH_AVErrCode OH_LowPowerAudioSink_Configure(OH_LowPowerAudioSink* sink, const OH_AVFormat* format)
描述
配置LowPowerAudioSink,需要在OH_LowPowerAudioSink_Prepare前完成。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| const OH_AVFormat* format | 指向OH_AVFormat的指针,用于配置LowPowerAudioSink的参数。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_UNSUPPORT:不支持的格式。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_SetParameter()
OH_AVErrCode OH_LowPowerAudioSink_SetParameter(OH_LowPowerAudioSink* sink, const OH_AVFormat* format)
描述
为LowPowerAudioSink设置参数,支持OH_LowPowerAudioSink_Prepare后动态设置。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| const OH_AVFormat* format | 指向OH_AVFormat的指针,为LowPowerAudioSink设置的参数。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_UNSUPPORT:不支持的格式。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_GetParameter()
OH_AVErrCode OH_LowPowerAudioSink_GetParameter(OH_LowPowerAudioSink* sink, OH_AVFormat* format)
描述
获取LowPowerAudioSink的相关参数。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向LowPowerAudioSink实例的指针。 |
| OH_AVFormat* format | 指向OH_AVFormat实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Prepare()
OH_AVErrCode OH_LowPowerAudioSink_Prepare(OH_LowPowerAudioSink* sink)
描述
准备LowPowerAudioSink的解码、渲染资源,在OH_LowPowerAudioSink_Configure后调用。
调用此接口前必须调用LowPowerVideoSink的OH_LowPowerVideoSink_SetSyncAudioSink方法。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_UNSUPPORT:不支持的格式。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Start()
OH_AVErrCode OH_LowPowerAudioSink_Start(OH_LowPowerAudioSink* sink)
描述
启动低功耗音频接收器,此接口必须在OH_LowPowerAudioSink_Prepare成功后调用。
启动成功后,LowPowerAudioSink将开始上报OH_LowPowerAudioSink_OnDataNeeded事件。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_UNSUPPORT:不支持的格式。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Pause()
OH_AVErrCode OH_LowPowerAudioSink_Pause(OH_LowPowerAudioSink* sink)
描述
暂停LowPowerAudioSink,在OH_LowPowerAudioSink_Start或OH_LowPowerAudioSink_Resume后调用。
暂停成功后,LowPowerAudioSink将暂停OH_LowPowerAudioSink_OnDataNeeded事件的上报。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Resume()
OH_AVErrCode OH_LowPowerAudioSink_Resume(OH_LowPowerAudioSink* sink)
描述
恢复LowPowerAudioSink,在OH_LowPowerAudioSink_Pause后调用。
恢复成功后,LowPowerAudioSink将恢复OH_LowPowerAudioSink_OnDataNeeded事件的上报。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Flush()
OH_AVErrCode OH_LowPowerAudioSink_Flush(OH_LowPowerAudioSink* sink)
描述
清除LowPowerAudioSink中所有解码器和渲染缓存的输入输出数据。
此接口不建议在OH_LowPowerAudioSink_Start或OH_LowPowerAudioSink_Resume之后调用。
需要注意的是,如果编解码器之前已输入数据,则需要重新输入编解码器数据。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Stop()
OH_AVErrCode OH_LowPowerAudioSink_Stop(OH_LowPowerAudioSink* sink)
描述
停止LowPowerAudioSink。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Reset()
OH_AVErrCode OH_LowPowerAudioSink_Reset(OH_LowPowerAudioSink* sink)
描述
重置LowPowerAudioSink。
如果要重新使用该实例,需要调用OH_LowPowerAudioSink_Configure完成配置。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_Destroy()
OH_AVErrCode OH_LowPowerAudioSink_Destroy(OH_LowPowerAudioSink* sink)
描述
清理LowPowerAudioSink内部资源,销毁LowPowerAudioSink实例。不能重复销毁。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_SetVolume()
OH_AVErrCode OH_LowPowerAudioSink_SetVolume(OH_LowPowerAudioSink* sink, const float volume)
描述
为LowPowerAudioSink设置渲染音量。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| const float volume | 音量值,取值范围[0.0, 1.0]。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_SetLoudnessGain()
OH_AVErrCode OH_LowPowerAudioSink_SetLoudnessGain(OH_LowPowerAudioSink* sink, float loudnessGain)
描述
为LowPowerAudioSink设置播放响度。
起始版本: 21
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| float loudnessGain | 响度值,取值范围[-90.0, 24.0]。默认值为0.0dB。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 |
OH_LowPowerAudioSink_SetPlaybackSpeed()
OH_AVErrCode OH_LowPowerAudioSink_SetPlaybackSpeed(OH_LowPowerAudioSink* sink, const float speed)
描述
为LowPowerAudioSink设置音频渲染倍速。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| const float speed | 音频渲染倍速值,取值范围[0.25, 4.0]。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_ReturnSamples()
OH_AVErrCode OH_LowPowerAudioSink_ReturnSamples(OH_LowPowerAudioSink* sink, OH_AVSamplesBuffer* samples)
描述
给LowPowerAudioSink输入buffer。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| OH_AVSamplesBuffer* samples | 需要送OH_AVSamplesBuffer消费的OH_AVSamplesBuffer实例,支持聚包输入。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSink_RegisterCallback()
OH_AVErrCode OH_LowPowerAudioSink_RegisterCallback(OH_LowPowerAudioSink* sink, OH_LowPowerAudioSinkCallback* callback)
描述
为LowPowerAudioSink注册回调。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSink* sink | 指向OH_LowPowerAudioSink实例的指针。 |
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_SERVICE_DIED:媒体服务端已销毁。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSinkCallback_Create()
OH_LowPowerAudioSinkCallback* OH_LowPowerAudioSinkCallback_Create(void)
描述
创建OH_LowPowerAudioSinkCallback实例。
起始版本: 20
返回:
| 类型 | 说明 |
|---|---|
| OH_LowPowerAudioSinkCallback* | 返回指向OH_LowPowerAudioSinkCallback实例的指针。如果内存不足,则返回nullptr。 |
OH_LowPowerAudioSinkCallback_Destroy()
OH_AVErrCode OH_LowPowerAudioSinkCallback_Destroy(OH_LowPowerAudioSinkCallback* callback)
描述
销毁OH_LowPowerAudioSinkCallback实例。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 |
OH_LowPowerAudioSinkCallback_SetPositionUpdateListener()
OH_AVErrCode OH_LowPowerAudioSinkCallback_SetPositionUpdateListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnPositionUpdated onPositionUpdated, void* userData)
描述
为LowPowerAudioSinkCallback设置进度更新监听。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
| OH_LowPowerAudioSink_OnPositionUpdated onPositionUpdated | OH_LowPowerAudioSink_OnPositionUpdated方法,在PositionUpdate事件触发时调用。 |
| void* userData | 用户执行回调所依赖的数据。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSinkCallback_SetDataNeededListener()
OH_AVErrCode OH_LowPowerAudioSinkCallback_SetDataNeededListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnDataNeeded onDataNeeded, void* userData)
描述
为LowPowerAudioSinkCallback设置需要数据监听。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
| OH_LowPowerAudioSink_OnDataNeeded onDataNeeded | OH_LowPowerAudioSink_OnDataNeeded方法,在DataNeeded事件触发时调用。 |
| void* userData | 用户执行回调所依赖的数据。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSinkCallback_SetErrorListener()
OH_AVErrCode OH_LowPowerAudioSinkCallback_SetErrorListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnError onError, void* userData)
描述
为LowPowerAudioSinkCallback设置错误监听。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
| OH_LowPowerAudioSink_OnError onError | OH_LowPowerAudioSink_OnError方法,在Error事件触发时调用。 |
| void* userData | 用户执行回调所依赖的数据。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSinkCallback_SetInterruptListener()
OH_AVErrCode OH_LowPowerAudioSinkCallback_SetInterruptListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnInterrupted onInterrupted, void* userData)
描述
为LowPowerAudioSinkCallback设置音频焦点打断监听。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
| OH_LowPowerAudioSink_OnInterrupted onInterrupted | OH_LowPowerAudioSink_OnInterrupted方法,在Interrupted事件触发时调用。 |
| void* userData | 用户执行回调所依赖的数据。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSinkCallback_SetDeviceChangeListener()
OH_AVErrCode OH_LowPowerAudioSinkCallback_SetDeviceChangeListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnDeviceChanged onDeviceChanged, void* userData)
描述
为LowPowerAudioSinkCallback设置音频设备切换监听。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
| OH_LowPowerAudioSink_OnDeviceChanged onDeviceChanged | OH_LowPowerAudioSink_OnDeviceChanged方法,在DeviceChanged事件触发时调用。 |
| void* userData | 用户执行回调所依赖的数据。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
OH_LowPowerAudioSinkCallback_SetEosListener()
OH_AVErrCode OH_LowPowerAudioSinkCallback_SetEosListener(OH_LowPowerAudioSinkCallback *callback, OH_LowPowerAudioSink_OnEos onEos, void* userData)
描述
为LowPowerAudioSinkCallback设置播放完成监听。
起始版本: 20
参数:
| 参数项 | 描述 |
|---|---|
| OH_LowPowerAudioSinkCallback *callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 |
| OH_LowPowerAudioSink_OnEos onEos | OH_LowPowerAudioSink_OnEos方法,在Eos事件触发时调用。 |
| void* userData | 用户执行回调所依赖的数据。 |
返回:
| 类型 | 说明 |
|---|---|
| OH_AVErrCode | AV_ERR_OK:执行成功。 AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 |
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 capi-avrecorder-oh-avrecorder-range
openharmony 鸿蒙 errorcode-media
openharmony 鸿蒙 capi-avplayer-base-h
openharmony 鸿蒙 capi-avimage-generator-h
openharmony 鸿蒙 capi-avscreencapture-oh-rect
openharmony 鸿蒙 capi-videoprocessing-videoprocessing-callback
openharmony 鸿蒙 capi-avsinkbase
openharmony 鸿蒙 capi-avmetadataextractor
openharmony 鸿蒙 capi-avscreencapture-oh-multidisplaycapability