1# lowpower_audio_sink.h 2 3## 概述 4 5定义LowPowerAudioSink接口。使用LowPowerAudioSink提供的Native API进行音频通路的低功耗播放。 6 7**引用文件:** <multimedia/player_framework/lowpower_audio_sink.h> 8 9**库:** liblowpower_avsink.so 10 11**系统能力:** SystemCapability.Multimedia.Media.LowPowerAVSink 12 13**起始版本:** 20 14 15**相关模块:** [LowPowerAudioSink](capi-lowpoweraudiosink.md) 16 17## 汇总 18 19### 函数 20 21| 名称 | 描述 | 22| -- | -- | 23| [OH_LowPowerAudioSink* OH_LowPowerAudioSink_CreateByMime(const char* mime)](#oh_lowpoweraudiosink_createbymime) | 创建LowPowerAudioSink。 | 24| [OH_AVErrCode OH_LowPowerAudioSink_Configure(OH_LowPowerAudioSink* sink, const OH_AVFormat* format)](#oh_lowpoweraudiosink_configure) | 配置LowPowerAudioSink,需要在[OH_LowPowerAudioSink_Prepare](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_prepare)前完成。 | 25| [OH_AVErrCode OH_LowPowerAudioSink_SetParameter(OH_LowPowerAudioSink* sink, const OH_AVFormat* format)](#oh_lowpoweraudiosink_setparameter) | 为LowPowerAudioSink设置参数,支持[OH_LowPowerAudioSink_Prepare](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_prepare)后动态设置。 | 26| [OH_AVErrCode OH_LowPowerAudioSink_GetParameter(OH_LowPowerAudioSink* sink, OH_AVFormat* format)](#oh_lowpoweraudiosink_getparameter) | 获取LowPowerAudioSink的相关参数。 | 27| [OH_AVErrCode OH_LowPowerAudioSink_Prepare(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_prepare) | 准备LowPowerAudioSink的解码、渲染资源,在[OH_LowPowerAudioSink_Configure](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_configure)后调用。<br>调用此接口前必须调用LowPowerVideoSink的[OH_LowPowerVideoSink_SetSyncAudioSink](capi-lowpower-video-sink-h.md#oh_lowpowervideosink_setsyncaudiosink)方法。 | 28| [OH_AVErrCode OH_LowPowerAudioSink_Start(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_start) | 启动低功耗音频接收器,此接口必须在[OH_LowPowerAudioSink_Prepare](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_prepare)成功后调用。<br> 启动成功后,LowPowerAudioSink将开始上报[OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded)事件。 | 29| [OH_AVErrCode OH_LowPowerAudioSink_Pause(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_pause) | 暂停LowPowerAudioSink,在[OH_LowPowerAudioSink_Start](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_start)或[OH_LowPowerAudioSink_Resume](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_resume)后调用。<br> 暂停成功后,LowPowerAudioSink将暂停[OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded)事件的上报。 | 30| [OH_AVErrCode OH_LowPowerAudioSink_Resume(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_resume) | 恢复LowPowerAudioSink,在[OH_LowPowerAudioSink_Pause](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_pause)后调用。<br> 恢复成功后,LowPowerAudioSink将恢复[OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded)事件的上报。 | 31| [OH_AVErrCode OH_LowPowerAudioSink_Flush(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_flush) | 清除LowPowerAudioSink中所有解码器和渲染缓存的输入输出数据。<br> 此接口不建议在[OH_LowPowerAudioSink_Start](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_start)或[OH_LowPowerAudioSink_Resume](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_resume)之后调用。<br> 需要注意的是,如果编解码器之前已输入数据,则需要重新输入编解码器数据。 | 32| [OH_AVErrCode OH_LowPowerAudioSink_Stop(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_stop) | 停止LowPowerAudioSink。 | 33| [OH_AVErrCode OH_LowPowerAudioSink_Reset(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_reset) | 重置LowPowerAudioSink。<br> 如果要重新使用该实例,需要调用[OH_LowPowerAudioSink_Configure](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_configure)完成配置。 | 34| [OH_AVErrCode OH_LowPowerAudioSink_Destroy(OH_LowPowerAudioSink* sink)](#oh_lowpoweraudiosink_destroy) | 清理LowPowerAudioSink内部资源,销毁LowPowerAudioSink实例。不能重复销毁。 | 35| [OH_AVErrCode OH_LowPowerAudioSink_SetVolume(OH_LowPowerAudioSink* sink, const float volume)](#oh_lowpoweraudiosink_setvolume) | 为LowPowerAudioSink设置渲染音量。 | 36| [OH_AVErrCode OH_LowPowerAudioSink_SetPlaybackSpeed(OH_LowPowerAudioSink* sink, const float speed)](#oh_lowpoweraudiosink_setplaybackspeed) | 为LowPowerAudioSink设置音频渲染倍速。 | 37| [OH_AVErrCode OH_LowPowerAudioSink_ReturnSamples(OH_LowPowerAudioSink* sink, OH_AVSamplesBuffer* samples)](#oh_lowpoweraudiosink_returnsamples) | 给LowPowerAudioSink输入buffer。 | 38| [OH_AVErrCode OH_LowPowerAudioSink_RegisterCallback(OH_LowPowerAudioSink* sink, OH_LowPowerAudioSinkCallback* callback)](#oh_lowpoweraudiosink_registercallback) | 为LowPowerAudioSink注册回调。 | 39| [OH_LowPowerAudioSinkCallback* OH_LowPowerAudioSinkCallback_Create(void)](#oh_lowpoweraudiosinkcallback_create) | 创建OH_LowPowerAudioSinkCallback实例。 | 40| [OH_AVErrCode OH_LowPowerAudioSinkCallback_Destroy(OH_LowPowerAudioSinkCallback* callback)](#oh_lowpoweraudiosinkcallback_destroy) | 销毁OH_LowPowerAudioSinkCallback实例。 | 41| [OH_AVErrCode OH_LowPowerAudioSinkCallback_SetPositionUpdateListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnPositionUpdated onPositionUpdated, void* userData)](#oh_lowpoweraudiosinkcallback_setpositionupdatelistener) | 为LowPowerAudioSinkCallback设置进度更新监听。 | 42| [OH_AVErrCode OH_LowPowerAudioSinkCallback_SetDataNeededListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnDataNeeded onDataNeeded, void* userData)](#oh_lowpoweraudiosinkcallback_setdataneededlistener) | 为LowPowerAudioSinkCallback设置需要数据监听。 | 43| [OH_AVErrCode OH_LowPowerAudioSinkCallback_SetErrorListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnError onError, void* userData)](#oh_lowpoweraudiosinkcallback_seterrorlistener) | 为LowPowerAudioSinkCallback设置错误监听。 | 44| [OH_AVErrCode OH_LowPowerAudioSinkCallback_SetInterruptListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnInterrupted onInterrupted, void* userData)](#oh_lowpoweraudiosinkcallback_setinterruptlistener) | 为LowPowerAudioSinkCallback设置音频焦点打断监听。 | 45| [OH_AVErrCode OH_LowPowerAudioSinkCallback_SetDeviceChangeListener(OH_LowPowerAudioSinkCallback* callback, OH_LowPowerAudioSink_OnDeviceChanged onDeviceChanged, void* userData)](#oh_lowpoweraudiosinkcallback_setdevicechangelistener) | 为LowPowerAudioSinkCallback设置音频设备切换监听。 | 46| [OH_AVErrCode OH_LowPowerAudioSinkCallback_SetEosListener(OH_LowPowerAudioSinkCallback *callback, OH_LowPowerAudioSink_OnEos onEos, void* userData)](#oh_lowpoweraudiosinkcallback_seteoslistener) | 为LowPowerAudioSinkCallback设置播放完成监听。 | 47 48## 函数说明 49 50### OH_LowPowerAudioSink_CreateByMime() 51 52``` 53OH_LowPowerAudioSink* OH_LowPowerAudioSink_CreateByMime(const char* mime) 54``` 55 56**描述** 57 58创建LowPowerAudioSink。 59 60**起始版本:** 20 61 62 63**参数:** 64 65| 参数项 | 描述 | 66| -- | -- | 67| const char* mime | 音频解码器MIME类型,取值范围请参考[AVCODEC_MIME_TYPE](../apis-avcodec-kit/_codec_base.md#变量)。 | 68 69**返回:** 70 71| 类型 | 说明 | 72| -- | -- | 73| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* | 如果创建成功返回指向OH_LowPowerAudioSink实例的指针,否则返回空指针。 | 74 75### OH_LowPowerAudioSink_Configure() 76 77``` 78OH_AVErrCode OH_LowPowerAudioSink_Configure(OH_LowPowerAudioSink* sink, const OH_AVFormat* format) 79``` 80 81**描述** 82 83配置LowPowerAudioSink,需要在[OH_LowPowerAudioSink_Prepare](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_prepare)前完成。 84 85**起始版本:** 20 86 87 88**参数:** 89 90| 参数项 | 描述 | 91| -- | -- | 92| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 93| const [OH_AVFormat](../apis-avcodec-kit/_core.md#oh_avformat)* format | 指向OH_AVFormat的指针,用于配置LowPowerAudioSink的参数。 | 94 95**返回:** 96 97| 类型 | 说明 | 98| -- | -- | 99| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_UNSUPPORT:不支持的格式。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 100 101### OH_LowPowerAudioSink_SetParameter() 102 103``` 104OH_AVErrCode OH_LowPowerAudioSink_SetParameter(OH_LowPowerAudioSink* sink, const OH_AVFormat* format) 105``` 106 107**描述** 108 109为LowPowerAudioSink设置参数,支持[OH_LowPowerAudioSink_Prepare](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_prepare)后动态设置。 110 111**起始版本:** 20 112 113 114**参数:** 115 116| 参数项 | 描述 | 117| -- | -- | 118| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 119| const [OH_AVFormat](../apis-avcodec-kit/_core.md#oh_avformat)* format | 指向OH_AVFormat的指针,为LowPowerAudioSink设置的参数。 | 120 121**返回:** 122 123| 类型 | 说明 | 124| -- | -- | 125| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_UNSUPPORT:不支持的格式。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 126 127### OH_LowPowerAudioSink_GetParameter() 128 129``` 130OH_AVErrCode OH_LowPowerAudioSink_GetParameter(OH_LowPowerAudioSink* sink, OH_AVFormat* format) 131``` 132 133**描述** 134 135获取LowPowerAudioSink的相关参数。 136 137**起始版本:** 20 138 139 140**参数:** 141 142| 参数项 | 描述 | 143| -- | -- | 144| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向LowPowerAudioSink实例的指针。 | 145| [OH_AVFormat](../apis-avcodec-kit/_core.md#oh_avformat)* format | 指向OH_AVFormat实例的指针。 | 146 147**返回:** 148 149| 类型 | 说明 | 150| -- | -- | 151| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 152 153### OH_LowPowerAudioSink_Prepare() 154 155``` 156OH_AVErrCode OH_LowPowerAudioSink_Prepare(OH_LowPowerAudioSink* sink) 157``` 158 159**描述** 160 161准备LowPowerAudioSink的解码、渲染资源,在[OH_LowPowerAudioSink_Configure](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_configure)后调用。<br> 162调用此接口前必须调用LowPowerVideoSink的[OH_LowPowerVideoSink_SetSyncAudioSink](capi-lowpower-video-sink-h.md#oh_lowpowervideosink_setsyncaudiosink)方法。 163 164**起始版本:** 20 165 166 167**参数:** 168 169| 参数项 | 描述 | 170| -- | -- | 171| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 172 173**返回:** 174 175| 类型 | 说明 | 176| -- | -- | 177| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_UNSUPPORT:不支持的格式。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 178 179### OH_LowPowerAudioSink_Start() 180 181``` 182OH_AVErrCode OH_LowPowerAudioSink_Start(OH_LowPowerAudioSink* sink) 183``` 184 185**描述** 186 187启动低功耗音频接收器,此接口必须在[OH_LowPowerAudioSink_Prepare](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_prepare)成功后调用。<br> 启动成功后,LowPowerAudioSink将开始上报[OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded)事件。 188 189**起始版本:** 20 190 191 192**参数:** 193 194| 参数项 | 描述 | 195| -- | -- | 196| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 197 198**返回:** 199 200| 类型 | 说明 | 201| -- | -- | 202| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_UNSUPPORT:不支持的格式。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 203 204### OH_LowPowerAudioSink_Pause() 205 206``` 207OH_AVErrCode OH_LowPowerAudioSink_Pause(OH_LowPowerAudioSink* sink) 208``` 209 210**描述** 211 212暂停LowPowerAudioSink,在[OH_LowPowerAudioSink_Start](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_start)或[OH_LowPowerAudioSink_Resume](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_resume)后调用。<br> 暂停成功后,LowPowerAudioSink将暂停[OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded)事件的上报。 213 214**起始版本:** 20 215 216 217**参数:** 218 219| 参数项 | 描述 | 220| -- | -- | 221| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 222 223**返回:** 224 225| 类型 | 说明 | 226| -- | -- | 227| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 228 229### OH_LowPowerAudioSink_Resume() 230 231``` 232OH_AVErrCode OH_LowPowerAudioSink_Resume(OH_LowPowerAudioSink* sink) 233``` 234 235**描述** 236 237恢复LowPowerAudioSink,在[OH_LowPowerAudioSink_Pause](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_pause)后调用。<br> 恢复成功后,LowPowerAudioSink将恢复[OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded)事件的上报。 238 239**起始版本:** 20 240 241 242**参数:** 243 244| 参数项 | 描述 | 245| -- | -- | 246| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 247 248**返回:** 249 250| 类型 | 说明 | 251| -- | -- | 252| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 253 254### OH_LowPowerAudioSink_Flush() 255 256``` 257OH_AVErrCode OH_LowPowerAudioSink_Flush(OH_LowPowerAudioSink* sink) 258``` 259 260**描述** 261 262清除LowPowerAudioSink中所有解码器和渲染缓存的输入输出数据。<br> 此接口不建议在[OH_LowPowerAudioSink_Start](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_start)或[OH_LowPowerAudioSink_Resume](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_resume)之后调用。<br> 需要注意的是,如果编解码器之前已输入数据,则需要重新输入编解码器数据。 263 264**起始版本:** 20 265 266 267**参数:** 268 269| 参数项 | 描述 | 270| -- | -- | 271| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 272 273**返回:** 274 275| 类型 | 说明 | 276| -- | -- | 277| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 278 279### OH_LowPowerAudioSink_Stop() 280 281``` 282OH_AVErrCode OH_LowPowerAudioSink_Stop(OH_LowPowerAudioSink* sink) 283``` 284 285**描述** 286 287停止LowPowerAudioSink。 288 289**起始版本:** 20 290 291 292**参数:** 293 294| 参数项 | 描述 | 295| -- | -- | 296| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 297 298**返回:** 299 300| 类型 | 说明 | 301| -- | -- | 302| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 303 304### OH_LowPowerAudioSink_Reset() 305 306``` 307OH_AVErrCode OH_LowPowerAudioSink_Reset(OH_LowPowerAudioSink* sink) 308``` 309 310**描述** 311 312重置LowPowerAudioSink。<br> 如果要重新使用该实例,需要调用[OH_LowPowerAudioSink_Configure](capi-lowpower-audio-sink-h.md#oh_lowpoweraudiosink_configure)完成配置。 313 314**起始版本:** 20 315 316 317**参数:** 318 319| 参数项 | 描述 | 320| -- | -- | 321| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 322 323**返回:** 324 325| 类型 | 说明 | 326| -- | -- | 327| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 328 329### OH_LowPowerAudioSink_Destroy() 330 331``` 332OH_AVErrCode OH_LowPowerAudioSink_Destroy(OH_LowPowerAudioSink* sink) 333``` 334 335**描述** 336 337清理LowPowerAudioSink内部资源,销毁LowPowerAudioSink实例。不能重复销毁。 338 339**起始版本:** 20 340 341 342**参数:** 343 344| 参数项 | 描述 | 345| -- | -- | 346| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 347 348**返回:** 349 350| 类型 | 说明 | 351| -- | -- | 352| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 353 354### OH_LowPowerAudioSink_SetVolume() 355 356``` 357OH_AVErrCode OH_LowPowerAudioSink_SetVolume(OH_LowPowerAudioSink* sink, const float volume) 358``` 359 360**描述** 361 362为LowPowerAudioSink设置渲染音量。 363 364**起始版本:** 20 365 366 367**参数:** 368 369| 参数项 | 描述 | 370| -- | -- | 371| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 372| const float volume | 音量值,取值范围[0.0, 1.0]。 | 373 374**返回:** 375 376| 类型 | 说明 | 377| -- | -- | 378| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 379 380### OH_LowPowerAudioSink_SetPlaybackSpeed() 381 382``` 383OH_AVErrCode OH_LowPowerAudioSink_SetPlaybackSpeed(OH_LowPowerAudioSink* sink, const float speed) 384``` 385 386**描述** 387 388为LowPowerAudioSink设置音频渲染倍速。 389 390**起始版本:** 20 391 392 393**参数:** 394 395| 参数项 | 描述 | 396| -- | -- | 397| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 398| const float speed | 音频渲染倍速值,取值范围[0.25, 4.0]。 | 399 400**返回:** 401 402| 类型 | 说明 | 403| -- | -- | 404| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 405 406### OH_LowPowerAudioSink_ReturnSamples() 407 408``` 409OH_AVErrCode OH_LowPowerAudioSink_ReturnSamples(OH_LowPowerAudioSink* sink, OH_AVSamplesBuffer* samples) 410``` 411 412**描述** 413 414给LowPowerAudioSink输入buffer。 415 416**起始版本:** 20 417 418 419**参数:** 420 421| 参数项 | 描述 | 422| -- | -- | 423| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 424| [OH_AVSamplesBuffer](capi-avsinkbase-oh-avsamplesbuffer.md)* samples | 需要送OH_AVSamplesBuffer消费的OH_AVSamplesBuffer实例,支持聚包输入。 | 425 426**返回:** 427 428| 类型 | 说明 | 429| -- | -- | 430| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 431 432### OH_LowPowerAudioSink_RegisterCallback() 433 434``` 435OH_AVErrCode OH_LowPowerAudioSink_RegisterCallback(OH_LowPowerAudioSink* sink, OH_LowPowerAudioSinkCallback* callback) 436``` 437 438**描述** 439 440为LowPowerAudioSink注册回调。 441 442**起始版本:** 20 443 444 445**参数:** 446 447| 参数项 | 描述 | 448| -- | -- | 449| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 450| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 451 452**返回:** 453 454| 类型 | 说明 | 455| -- | -- | 456| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_SERVICE_DIED:媒体服务端已销毁。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 457 458### OH_LowPowerAudioSinkCallback_Create() 459 460``` 461OH_LowPowerAudioSinkCallback* OH_LowPowerAudioSinkCallback_Create(void) 462``` 463 464**描述** 465 466创建OH_LowPowerAudioSinkCallback实例。 467 468**起始版本:** 20 469 470**返回:** 471 472| 类型 | 说明 | 473| -- | -- | 474| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* | 返回指向OH_LowPowerAudioSinkCallback实例的指针。如果内存不足,则返回nullptr。 | 475 476### OH_LowPowerAudioSinkCallback_Destroy() 477 478``` 479OH_AVErrCode OH_LowPowerAudioSinkCallback_Destroy(OH_LowPowerAudioSinkCallback* callback) 480``` 481 482**描述** 483 484销毁OH_LowPowerAudioSinkCallback实例。 485 486**起始版本:** 20 487 488 489**参数:** 490 491| 参数项 | 描述 | 492| -- | -- | 493| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 494 495**返回:** 496 497| 类型 | 说明 | 498| -- | -- | 499| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。 | 500 501### OH_LowPowerAudioSinkCallback_SetPositionUpdateListener() 502 503``` 504OH_AVErrCode OH_LowPowerAudioSinkCallback_SetPositionUpdateListener(OH_LowPowerAudioSinkCallback* callback,OH_LowPowerAudioSink_OnPositionUpdated onPositionUpdated,void* userData) 505``` 506 507**描述** 508 509为LowPowerAudioSinkCallback设置进度更新监听。 510 511**起始版本:** 20 512 513 514**参数:** 515 516| 参数项 | 描述 | 517| -- | -- | 518| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 519| [OH_LowPowerAudioSink_OnPositionUpdated](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_onpositionupdated) onPositionUpdated | OH_LowPowerAudioSink_OnPositionUpdated方法,在PositionUpdate事件触发时调用。 | 520| void* userData | 用户执行回调所依赖的数据。 | 521 522**返回:** 523 524| 类型 | 说明 | 525| -- | -- | 526| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 527 528### OH_LowPowerAudioSinkCallback_SetDataNeededListener() 529 530``` 531OH_AVErrCode OH_LowPowerAudioSinkCallback_SetDataNeededListener(OH_LowPowerAudioSinkCallback* callback,OH_LowPowerAudioSink_OnDataNeeded onDataNeeded,void* userData) 532``` 533 534**描述** 535 536为LowPowerAudioSinkCallback设置需要数据监听。 537 538**起始版本:** 20 539 540 541**参数:** 542 543| 参数项 | 描述 | 544| -- | -- | 545| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 546| [OH_LowPowerAudioSink_OnDataNeeded](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondataneeded) onDataNeeded | OH_LowPowerAudioSink_OnDataNeeded方法,在DataNeeded事件触发时调用。 | 547| void* userData | 用户执行回调所依赖的数据。 | 548 549**返回:** 550 551| 类型 | 说明 | 552| -- | -- | 553| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 554 555### OH_LowPowerAudioSinkCallback_SetErrorListener() 556 557``` 558OH_AVErrCode OH_LowPowerAudioSinkCallback_SetErrorListener(OH_LowPowerAudioSinkCallback* callback,OH_LowPowerAudioSink_OnError onError,void* userData) 559``` 560 561**描述** 562 563为LowPowerAudioSinkCallback设置错误监听。 564 565**起始版本:** 20 566 567 568**参数:** 569 570| 参数项 | 描述 | 571| -- | -- | 572| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 573| [OH_LowPowerAudioSink_OnError](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_onerror) onError | OH_LowPowerAudioSink_OnError方法,在Error事件触发时调用。 | 574| void* userData | 用户执行回调所依赖的数据。 | 575 576**返回:** 577 578| 类型 | 说明 | 579| -- | -- | 580| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 581 582### OH_LowPowerAudioSinkCallback_SetInterruptListener() 583 584``` 585OH_AVErrCode OH_LowPowerAudioSinkCallback_SetInterruptListener(OH_LowPowerAudioSinkCallback* callback,OH_LowPowerAudioSink_OnInterrupted onInterrupted,void* userData) 586``` 587 588**描述** 589 590为LowPowerAudioSinkCallback设置音频焦点打断监听。 591 592**起始版本:** 20 593 594 595**参数:** 596 597| 参数项 | 描述 | 598| -- | -- | 599| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 600| [OH_LowPowerAudioSink_OnInterrupted](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_oninterrupted) onInterrupted | OH_LowPowerAudioSink_OnInterrupted方法,在Interrupted事件触发时调用。 | 601| void* userData | 用户执行回调所依赖的数据。 | 602 603**返回:** 604 605| 类型 | 说明 | 606| -- | -- | 607| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 608 609### OH_LowPowerAudioSinkCallback_SetDeviceChangeListener() 610 611``` 612OH_AVErrCode OH_LowPowerAudioSinkCallback_SetDeviceChangeListener(OH_LowPowerAudioSinkCallback* callback,OH_LowPowerAudioSink_OnDeviceChanged onDeviceChanged,void* userData) 613``` 614 615**描述** 616 617为LowPowerAudioSinkCallback设置音频设备切换监听。 618 619**起始版本:** 20 620 621 622**参数:** 623 624| 参数项 | 描述 | 625| -- | -- | 626| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)* callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 627| [OH_LowPowerAudioSink_OnDeviceChanged](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_ondevicechanged) onDeviceChanged | OH_LowPowerAudioSink_OnDeviceChanged方法,在DeviceChanged事件触发时调用。 | 628| void* userData | 用户执行回调所依赖的数据。 | 629 630**返回:** 631 632| 类型 | 说明 | 633| -- | -- | 634| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 635 636### OH_LowPowerAudioSinkCallback_SetEosListener() 637 638``` 639OH_AVErrCode OH_LowPowerAudioSinkCallback_SetEosListener(OH_LowPowerAudioSinkCallback *callback,OH_LowPowerAudioSink_OnEos onEos,void* userData) 640``` 641 642**描述** 643 644为LowPowerAudioSinkCallback设置播放完成监听。 645 646**起始版本:** 20 647 648 649**参数:** 650 651| 参数项 | 描述 | 652| -- | -- | 653| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md) *callback | 指向OH_LowPowerAudioSinkCallback实例的指针。 | 654| [OH_LowPowerAudioSink_OnEos](capi-lowpower-audio-sink-base-h.md#oh_lowpoweraudiosink_oneos) onEos | OH_LowPowerAudioSink_OnEos方法,在Eos事件触发时调用。 | 655| void* userData | 用户执行回调所依赖的数据。 | 656 657**返回:** 658 659| 类型 | 说明 | 660| -- | -- | 661| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) | AV_ERR_OK:执行成功。<br> AV_ERR_INVALID_VAL:参数为nullptr或参数非法。<br> AV_ERR_OPERATE_NOT_PERMIT:操作不支持。 | 662 663 664