1# lowpower_audio_sink_base.h 2 3## 概述 4 5定义LowPowerAudioSink的结构体和枚举。 6 7**引用文件:** <multimedia/player_framework/lowpower_audio_sink_base.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| 名称 | typedef关键字 | 描述 | 22| -- | -- | -- | 23| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md) | OH_LowPowerAudioSink | LowPowerAudioSink的声明。 | 24| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md) | OH_LowPowerAudioSinkCallback | 包含了LowPowerAudioSink回调函数指针的集合。<br> 应用需注册此实例结构体到[OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)实例中,并对回调上报的信息进行处理,保证LowPowerAudioSink的正常运行。 | 25 26### 函数 27 28| 名称 | typedef关键字 | 描述 | 29| -- | -- | -- | 30| [typedef void (\*OH_LowPowerAudioSink_OnError)(OH_LowPowerAudioSink* sink, OH_AVErrCode errCode, const char* errorMsg, void* userData)](#oh_lowpoweraudiosink_onerror) | OH_LowPowerAudioSink_OnError | LowPowerAudioSink发生错误时调用该方法。 | 31| [typedef void (\*OH_LowPowerAudioSink_OnPositionUpdated)(OH_LowPowerAudioSink* sink, int64_t currentPosition, void* userData)](#oh_lowpoweraudiosink_onpositionupdated) | OH_LowPowerAudioSink_OnPositionUpdated | LowPowerAudioSink进度更新时调用该方法。 | 32| [typedef void (\*OH_LowPowerAudioSink_OnDataNeeded)(OH_LowPowerAudioSink* sink, OH_AVSamplesBuffer* samples, void* userData)](#oh_lowpoweraudiosink_ondataneeded) | OH_LowPowerAudioSink_OnDataNeeded | LowPowerAudioSink需要数据时调用该方法。 | 33| [typedef void (\*OH_LowPowerAudioSink_OnInterrupted)(OH_LowPowerAudioSink* sink, OH_AudioInterrupt_ForceType type, OH_AudioInterrupt_Hint hint, void* userData)](#oh_lowpoweraudiosink_oninterrupted) | OH_LowPowerAudioSink_OnInterrupted | LowPowerAudioSink焦点打断时调用该方法。 | 34| [typedef void (\*OH_LowPowerAudioSink_OnDeviceChanged)(OH_LowPowerAudioSink* sink, OH_AudioStream_DeviceChangeReason reason, void* userData)](#oh_lowpoweraudiosink_ondevicechanged) | OH_LowPowerAudioSink_OnDeviceChanged | LowPowerAudioSink设备切换时调用该方法。 | 35| [typedef void (\*OH_LowPowerAudioSink_OnEos)(OH_LowPowerAudioSink* sink, void* userData)](#oh_lowpoweraudiosink_oneos) | OH_LowPowerAudioSink_OnEos | LowPowerAudioSink播放完成时调用该方法,包含在[OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)中。 | 36 37## 函数说明 38 39### OH_LowPowerAudioSink_OnError() 40 41``` 42typedef void (*OH_LowPowerAudioSink_OnError)(OH_LowPowerAudioSink* sink,OH_AVErrCode errCode,const char* errorMsg,void* userData) 43``` 44 45**描述** 46 47LowPowerAudioSink发生错误时调用该方法。 48 49**起始版本:** 20 50 51 52**参数:** 53 54| 参数项 | 描述 | 55| -- | -- | 56| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 57| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) errorCode | 发生错误时上报的错误码。 | 58| const char* errorMsg | 错误描述信息。 | 59| void* userData | 用户自定义数据。 | 60 61### OH_LowPowerAudioSink_OnPositionUpdated() 62 63``` 64typedef void (*OH_LowPowerAudioSink_OnPositionUpdated)(OH_LowPowerAudioSink* sink,int64_t currentPosition,void* userData) 65``` 66 67**描述** 68 69LowPowerAudioSink进度更新时调用该方法。 70 71**起始版本:** 20 72 73 74**参数:** 75 76| 参数项 | 描述 | 77| -- | -- | 78| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 79| int64_t currentPosition | 返回服务当前播放的进度值。 | 80| void* userData | 用户自定义数据。 | 81 82### OH_LowPowerAudioSink_OnDataNeeded() 83 84``` 85typedef void (*OH_LowPowerAudioSink_OnDataNeeded)(OH_LowPowerAudioSink* sink,OH_AVSamplesBuffer* samples,void* userData) 86``` 87 88**描述** 89 90LowPowerAudioSink需要数据时调用该方法。 91 92**起始版本:** 20 93 94 95**参数:** 96 97| 参数项 | 描述 | 98| -- | -- | 99| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 100| [OH_AVSamplesBuffer](capi-avsinkbase-oh-avsamplesbuffer.md)* samples | 即将写入的AVSamplesBuffer实例。 | 101| void* userData | 用户自定义数据。 | 102 103### OH_LowPowerAudioSink_OnInterrupted() 104 105``` 106typedef void (*OH_LowPowerAudioSink_OnInterrupted)(OH_LowPowerAudioSink* sink,OH_AudioInterrupt_ForceType type,OH_AudioInterrupt_Hint hint,void* userData) 107``` 108 109**描述** 110 111LowPowerAudioSink焦点打断时调用该方法。 112 113**起始版本:** 20 114 115 116**参数:** 117 118| 参数项 | 描述 | 119| -- | -- | 120| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 121| [OH_AudioInterrupt_ForceType](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiointerrupt_forcetype) type | 音频打断类型。 | 122| [OH_AudioInterrupt_Hint](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiointerrupt_hint) hint | 音频打断提示类型。 | 123| void* userData | 用户自定义数据。 | 124 125### OH_LowPowerAudioSink_OnDeviceChanged() 126 127``` 128typedef void (*OH_LowPowerAudioSink_OnDeviceChanged)(OH_LowPowerAudioSink* sink,OH_AudioStream_DeviceChangeReason reason,void* userData) 129``` 130 131**描述** 132 133LowPowerAudioSink设备切换时调用该方法。 134 135**起始版本:** 20 136 137 138**参数:** 139 140| 参数项 | 描述 | 141| -- | -- | 142| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 143| [OH_AudioStream_DeviceChangeReason](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiostream_devicechangereason) reason | 输出设备发生变化的原因。 | 144| void* userData | 用户自定义数据。 | 145 146### OH_LowPowerAudioSink_OnEos() 147 148``` 149typedef void (*OH_LowPowerAudioSink_OnEos)(OH_LowPowerAudioSink* sink, void* userData) 150``` 151 152**描述** 153 154LowPowerAudioSink播放完成时调用该方法,包含在[OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md)中。 155 156**起始版本:** 20 157 158 159**参数:** 160 161| 参数项 | 描述 | 162| -- | -- | 163| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | 指向OH_LowPowerAudioSink实例的指针。 | 164| void* userData | 用户自定义数据。 | 165 166 167