• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# lowpower_audio_sink_base.h
2
3## Overview
4
5The file declares the structs and enums of the LowPowerAudioSink.
6
7**File to include**: <multimedia/player_framework/lowpower_audio_sink_base.h>
8
9**Library**: liblowpower_avsink.so
10
11**System capability**: SystemCapability.Multimedia.Media.LowPowerAVSink
12
13**Since**: 20
14
15**Related module**: [LowPowerAudioSink](capi-lowpoweraudiosink.md)
16
17## Summary
18
19### Structs
20
21| Name| typedef Keyword| Description|
22| -- | -- | -- |
23| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md) | OH_LowPowerAudioSink | Describes the declaration for the LowPowerAudioSink.|
24| [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md) | OH_LowPowerAudioSinkCallback | Contains a set of callback function pointers for the LowPowerAudioSink.<br>To ensure the normal running of the LowPowerAudioSink, you must register the instance of this struct with the [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md) instance and process the information reported by the callback functions.|
25
26### Functions
27
28| Name| typedef Keyword| Description|
29| -- | -- | -- |
30| [typedef void (\*OH_LowPowerAudioSink_OnError)(OH_LowPowerAudioSink* sink, OH_AVErrCode errCode, const char* errorMsg, void* userData)](#oh_lowpoweraudiosink_onerror) | OH_LowPowerAudioSink_OnError | Called when an error occurs in the LowPowerAudioSink.|
31| [typedef void (\*OH_LowPowerAudioSink_OnPositionUpdated)(OH_LowPowerAudioSink* sink, int64_t currentPosition, void* userData)](#oh_lowpoweraudiosink_onpositionupdated) | OH_LowPowerAudioSink_OnPositionUpdated | Called when the playback position is updated in the LowPowerAudioSink.|
32| [typedef void (\*OH_LowPowerAudioSink_OnDataNeeded)(OH_LowPowerAudioSink* sink, OH_AVSamplesBuffer* samples, void* userData)](#oh_lowpoweraudiosink_ondataneeded) | OH_LowPowerAudioSink_OnDataNeeded | Called when the LowPowerAudioSink needs more data.|
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 | Called when the audio focus is interrupted in the LowPowerAudioSink.|
34| [typedef void (\*OH_LowPowerAudioSink_OnDeviceChanged)(OH_LowPowerAudioSink* sink, OH_AudioStream_DeviceChangeReason reason, void* userData)](#oh_lowpoweraudiosink_ondevicechanged) | OH_LowPowerAudioSink_OnDeviceChanged | Called when the audio device changes in the LowPowerAudioSink.|
35| [typedef void (\*OH_LowPowerAudioSink_OnEos)(OH_LowPowerAudioSink* sink, void* userData)](#oh_lowpoweraudiosink_oneos) | OH_LowPowerAudioSink_OnEos | Called when the playback is complete in the LowPowerAudioSink. This callback is included in [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md).|
36
37## Function Description
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**Description**
46
47Called when an error occurs in the LowPowerAudioSink.
48
49**Since**: 20
50
51
52**Parameters**
53
54| Name| Description|
55| -- | -- |
56| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | Pointer to an OH_LowPowerAudioSink instance.|
57| [OH_AVErrCode](../apis-avcodec-kit/_core.md#oh_averrcode-1) errorCode | Error code reported when an error occurs.|
58| const char* errorMsg | Pointer to an error message.|
59| void* userData | Pointer to user-defined data.|
60
61### OH_LowPowerAudioSink_OnPositionUpdated()
62
63```
64typedef void (*OH_LowPowerAudioSink_OnPositionUpdated)(OH_LowPowerAudioSink* sink,int64_t currentPosition,void* userData)
65```
66
67**Description**
68
69Called when the playback position is updated in the LowPowerAudioSink.
70
71**Since**: 20
72
73
74**Parameters**
75
76| Name| Description|
77| -- | -- |
78| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | Pointer to an OH_LowPowerAudioSink instance.|
79| int64_t currentPosition | Current playback position.|
80| void* userData | Pointer to user-defined data.|
81
82### OH_LowPowerAudioSink_OnDataNeeded()
83
84```
85typedef void (*OH_LowPowerAudioSink_OnDataNeeded)(OH_LowPowerAudioSink* sink,OH_AVSamplesBuffer* samples,void* userData)
86```
87
88**Description**
89
90Called when the LowPowerAudioSink needs more data.
91
92**Since**: 20
93
94
95**Parameters**
96
97| Name| Description|
98| -- | -- |
99| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | Pointer to an OH_LowPowerAudioSink instance.|
100| [OH_AVSamplesBuffer](capi-avsinkbase-oh-avsamplesbuffer.md)* samples | Pointer to the AVSamplesBuffer instance to be written.|
101| void* userData | Pointer to user-defined data.|
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**Description**
110
111Called when the audio focus is interrupted in the LowPowerAudioSink.
112
113**Since**: 20
114
115
116**Parameters**
117
118| Name| Description|
119| -- | -- |
120| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | Pointer to an OH_LowPowerAudioSink instance.|
121| [OH_AudioInterrupt_ForceType](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiointerrupt_forcetype) type | Type of force that causes the audio interruption.|
122| [OH_AudioInterrupt_Hint](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiointerrupt_hint) hint | Hint provided along with audio interruption.|
123| void* userData | Pointer to user-defined data.|
124
125### OH_LowPowerAudioSink_OnDeviceChanged()
126
127```
128typedef void (*OH_LowPowerAudioSink_OnDeviceChanged)(OH_LowPowerAudioSink* sink,OH_AudioStream_DeviceChangeReason reason,void* userData)
129```
130
131**Description**
132
133Called when the audio device changes in the LowPowerAudioSink.
134
135**Since**: 20
136
137
138**Parameters**
139
140| Name| Description|
141| -- | -- |
142| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | Pointer to an OH_LowPowerAudioSink instance.|
143| [OH_AudioStream_DeviceChangeReason](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiostream_devicechangereason) reason | Reason for the output device changes.|
144| void* userData | Pointer to user-defined data.|
145
146### OH_LowPowerAudioSink_OnEos()
147
148```
149typedef void (*OH_LowPowerAudioSink_OnEos)(OH_LowPowerAudioSink* sink, void* userData)
150```
151
152**Description**
153
154Called when the playback is complete in the LowPowerAudioSink. This callback is included in [OH_LowPowerAudioSinkCallback](capi-lowpoweraudiosink-oh-lowpoweraudiosinkcallback.md).
155
156**Since**: 20
157
158
159**Parameters**
160
161| Name| Description|
162| -- | -- |
163| [OH_LowPowerAudioSink](capi-lowpoweraudiosink-oh-lowpoweraudiosink.md)* sink | Pointer to an OH_LowPowerAudioSink instance.|
164|  void* userData | Pointer to user-defined data.|
165