## 概述

PhonePC/2in1Tablet

定义LowPowerAudioSink的结构体和枚举。

**引用文件：** <multimedia/player\_framework/lowpower\_audio\_sink\_base.h>

**库：** liblowpower\_avsink.so

**系统能力：** SystemCapability.Multimedia.Media.LowPowerAVSink

**起始版本：** 20

**相关模块：** [LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink)

## 汇总

PhonePC/2in1Tablet

### 结构体

PhonePC/2in1Tablet

展开

| 名称 | typedef关键字 | 描述 |
| --- | --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink) | OH\_LowPowerAudioSink | LowPowerAudioSink的声明。 |
| [OH\_LowPowerAudioSinkCallback](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/api-lowpoweraudiosink-oh-lowpoweraudiosinkcallback) | OH\_LowPowerAudioSinkCallback | 包含了LowPowerAudioSink回调函数指针的集合。  应用需注册此实例结构体到[OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)实例中，并对回调上报的信息进行处理，保证LowPowerAudioSink的正常运行。 |

### 函数

PhonePC/2in1Tablet

展开

| 名称 | typedef关键字 | 描述 |
| --- | --- | --- |
| [typedef void (\*OH\_LowPowerAudioSink\_OnError)(OH\_LowPowerAudioSink\* sink, OH\_AVErrCode errCode, const char\* errorMsg, void\* userData)](/consumer/cn/doc/harmonyos-references/capi-lowpower-audio-sink-base-h#oh_lowpoweraudiosink_onerror) | OH\_LowPowerAudioSink\_OnError | LowPowerAudioSink发生错误时调用该方法。 |
| [typedef void (\*OH\_LowPowerAudioSink\_OnPositionUpdated)(OH\_LowPowerAudioSink\* sink, int64\_t currentPosition, void\* userData)](/consumer/cn/doc/harmonyos-references/capi-lowpower-audio-sink-base-h#oh_lowpoweraudiosink_onpositionupdated) | OH\_LowPowerAudioSink\_OnPositionUpdated | LowPowerAudioSink进度更新时调用该方法。 |
| [typedef void (\*OH\_LowPowerAudioSink\_OnDataNeeded)(OH\_LowPowerAudioSink\* sink, OH\_AVSamplesBuffer\* samples, void\* userData)](/consumer/cn/doc/harmonyos-references/capi-lowpower-audio-sink-base-h#oh_lowpoweraudiosink_ondataneeded) | OH\_LowPowerAudioSink\_OnDataNeeded | LowPowerAudioSink需要数据时调用该方法。 |
| [typedef void (\*OH\_LowPowerAudioSink\_OnInterrupted)(OH\_LowPowerAudioSink\* sink, OH\_AudioInterrupt\_ForceType type, OH\_AudioInterrupt\_Hint hint, void\* userData)](/consumer/cn/doc/harmonyos-references/capi-lowpower-audio-sink-base-h#oh_lowpoweraudiosink_oninterrupted) | OH\_LowPowerAudioSink\_OnInterrupted | LowPowerAudioSink焦点打断时调用该方法。 |
| [typedef void (\*OH\_LowPowerAudioSink\_OnDeviceChanged)(OH\_LowPowerAudioSink\* sink, OH\_AudioStream\_DeviceChangeReason reason, void\* userData)](/consumer/cn/doc/harmonyos-references/capi-lowpower-audio-sink-base-h#oh_lowpoweraudiosink_ondevicechanged) | OH\_LowPowerAudioSink\_OnDeviceChanged | LowPowerAudioSink设备切换时调用该方法。 |
| [typedef void (\*OH\_LowPowerAudioSink\_OnEos)(OH\_LowPowerAudioSink\* sink, void\* userData)](/consumer/cn/doc/harmonyos-references/capi-lowpower-audio-sink-base-h#oh_lowpoweraudiosink_oneos) | OH\_LowPowerAudioSink\_OnEos | LowPowerAudioSink播放完成时调用该方法，包含在[OH\_LowPowerAudioSinkCallback](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/api-lowpoweraudiosink-oh-lowpoweraudiosinkcallback)中。 |

## 函数说明

PhonePC/2in1Tablet

### OH\_LowPowerAudioSink\_OnError()

PhonePC/2in1Tablet



```
1. typedef void (*OH_LowPowerAudioSink_OnError)(OH_LowPowerAudioSink* sink,OH_AVErrCode errCode,const char* errorMsg,void* userData)
```

**描述**

LowPowerAudioSink发生错误时调用该方法。

**起始版本：** 20

**参数：**

展开

| 参数项 | 描述 |
| --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)\* sink | 指向OH\_LowPowerAudioSink实例的指针。 |
| [OH\_AVErrCode](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-native-averrors-h#oh_averrcode) errCode | 发生错误时上报的错误码。 |
| const char\* errorMsg | 错误描述信息。 |
| void\* userData | 用户自定义数据。 |

### OH\_LowPowerAudioSink\_OnPositionUpdated()

PhonePC/2in1Tablet



```
1. typedef void (*OH_LowPowerAudioSink_OnPositionUpdated)(OH_LowPowerAudioSink* sink,int64_t currentPosition,void* userData)
```

**描述**

LowPowerAudioSink进度更新时调用该方法。

**起始版本：** 20

**参数：**

展开

| 参数项 | 描述 |
| --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)\* sink | 指向OH\_LowPowerAudioSink实例的指针。 |
| int64\_t currentPosition | 返回服务当前播放的进度值。单位为毫秒。 |
| void\* userData | 用户自定义数据。 |

### OH\_LowPowerAudioSink\_OnDataNeeded()

PhonePC/2in1Tablet



```
1. typedef void (*OH_LowPowerAudioSink_OnDataNeeded)(OH_LowPowerAudioSink* sink,OH_AVSamplesBuffer* samples,void* userData)
```

**描述**

LowPowerAudioSink需要数据时调用该方法。

**起始版本：** 20

**参数：**

展开

| 参数项 | 描述 |
| --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)\* sink | 指向OH\_LowPowerAudioSink实例的指针。 |
| [OH\_AVSamplesBuffer](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-avsinkbase-oh-avsamplesbuffer)\* samples | 即将写入的AVSamplesBuffer实例。 |
| void\* userData | 用户自定义数据。 |

### OH\_LowPowerAudioSink\_OnInterrupted()

PhonePC/2in1Tablet



```
1. typedef void (*OH_LowPowerAudioSink_OnInterrupted)(OH_LowPowerAudioSink* sink,OH_AudioInterrupt_ForceType type,OH_AudioInterrupt_Hint hint,void* userData)
```

**描述**

LowPowerAudioSink焦点打断时调用该方法。

**起始版本：** 20

**参数：**

展开

| 参数项 | 描述 |
| --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)\* sink | 指向OH\_LowPowerAudioSink实例的指针。 |
| [OH\_AudioInterrupt\_ForceType](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-native-audiostream-base-h#oh_audiointerrupt_forcetype) type | 音频打断类型。 |
| [OH\_AudioInterrupt\_Hint](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-native-audiostream-base-h#oh_audiointerrupt_hint) hint | 音频打断提示类型。 |
| void\* userData | 用户自定义数据。 |

### OH\_LowPowerAudioSink\_OnDeviceChanged()

PhonePC/2in1Tablet



```
1. typedef void (*OH_LowPowerAudioSink_OnDeviceChanged)(OH_LowPowerAudioSink* sink,OH_AudioStream_DeviceChangeReason reason,void* userData)
```

**描述**

LowPowerAudioSink设备切换时调用该方法。

**起始版本：** 20

**参数：**

展开

| 参数项 | 描述 |
| --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)\* sink | 指向OH\_LowPowerAudioSink实例的指针。 |
| [OH\_AudioStream\_DeviceChangeReason](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-native-audiostream-base-h#oh_audiostream_devicechangereason) reason | 输出设备发生变化的原因。 |
| void\* userData | 用户自定义数据。 |

### OH\_LowPowerAudioSink\_OnEos()

PhonePC/2in1Tablet



```
1. typedef void (*OH_LowPowerAudioSink_OnEos)(OH_LowPowerAudioSink* sink, void* userData)
```

**描述**

LowPowerAudioSink播放完成时调用该方法，包含在[OH\_LowPowerAudioSinkCallback](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/api-lowpoweraudiosink-oh-lowpoweraudiosinkcallback)中。

**起始版本：** 20

**参数：**

展开

| 参数项 | 描述 |
| --- | --- |
| [OH\_LowPowerAudioSink](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/capi-lowpoweraudiosink-oh-lowpoweraudiosink)\* sink | 指向OH\_LowPowerAudioSink实例的指针。 |
| void\* userData | 用户自定义数据。 |