• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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