• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# avplayer_base.h
2<!--Kit: Media Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @xushubo; @chennotfound-->
5<!--Designer: @dongyu_dy-->
6<!--Tester: @xchaosioda-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11定义AVPlayer的结构体和枚举。
12
13**引用文件:** <multimedia/player_framework/avplayer_base.h>
14
15**库:** libavplayer.so
16
17**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
18
19**起始版本:** 11
20
21**相关模块:** [AVPlayer](capi-avplayer.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [AVPlayerCallback](capi-avplayer-avplayercallback.md) | AVPlayerCallback | 包含了[OH_AVPlayerOnInfo](#oh_avplayeroninfo)和OH_AVPlayerOnInfo回调函数指针的集合。应用需注册此结构体到OH_AVPlayer实例中,并处理回调上报的信息,保证AVPlayer的正常运行。 |
30| [OH_AVPlayer](capi-avplayer-oh-avplayer.md) | OH_AVPlayer | 初始化AVPlayer。 |
31
32### 枚举
33
34| 名称 | typedef关键字 | 描述 |
35| -- | -- | -- |
36| [AVPlayerState](#avplayerstate) | AVPlayerState | 播放状态。 |
37| [AVPlayerSeekMode](#avplayerseekmode) | AVPlayerSeekMode | 跳转模式。 |
38| [AVPlaybackSpeed](#avplaybackspeed) | AVPlaybackSpeed | 播放速度。 |
39| [AVPlayerOnInfoType](#avplayeroninfotype) | AVPlayerOnInfoType | OnInfo类型。<br>可用于[OH_AVPlayerOnInfoCallback](#oh_avplayeroninfocallback)和[OH_AVPlayerOnInfo](#oh_avplayeroninfo)(已废弃),用于表示收到的播放器信息类型。 |
40| [AVPlayerBufferingType](#avplayerbufferingtype) | AVPlayerBufferingType | 播放缓冲消息类型定义。 |
41
42### 函数
43
44| 名称 | typedef关键字 | 描述 |
45| -- | -- | -- |
46| [typedef void (\*OH_AVPlayerOnInfo)(OH_AVPlayer *player, AVPlayerOnInfoType type, int32_t extra)](#oh_avplayeroninfo) | OH_AVPlayerOnInfo | 收到播放器消息时调用。 |
47| [typedef void (\*OH_AVPlayerOnInfoCallback)(OH_AVPlayer \*player, AVPlayerOnInfoType type, OH_AVFormat* infoBody, void *userData)](#oh_avplayeroninfocallback) | OH_AVPlayerOnInfoCallback | 收到播放器消息时被调用。如果应用成功设置该回调,则不会回调[OH_AVPlayerOnInfo](#oh_avplayeroninfo)函数。 |
48| [typedef void (\*OH_AVPlayerOnError)(OH_AVPlayer *player, int32_t errorCode, const char *errorMsg)](#oh_avplayeronerror) | OH_AVPlayerOnError | 在API 9以上的版本发生错误时调用。 |
49| [typedef void (\*OH_AVPlayerOnErrorCallback)(OH_AVPlayer *player, int32_t errorCode, const char *errorMsg, void *userData)](#oh_avplayeronerrorcallback) | OH_AVPlayerOnErrorCallback | 发生错误时被调用。如果应用成功设置该回调,则不会回调[OH_AVPlayerOnError](#oh_avplayeronerror)函数。 |
50
51### 变量
52
53| 名称 | 描述 |
54| -- | -- |
55| const char * OH_PLAYER_STATE | 获取播放状态的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
56| const char * OH_PLAYER_STATE_CHANGE_REASON | 获取播放状态变更原因的关键字,对应值类型是int32_t。<br>1:用户操作触发;2:系统变更触发。<br>**起始版本:** 12 |
57| const char * OH_PLAYER_VOLUME | 获取音量的关键字,对应值类型是float。<br>**起始版本:** 12 |
58| const char * OH_PLAYER_BITRATE_ARRAY | 获取比特率列表的关键字,对应值类型是uint8_t字节数组。通过该关键字获取信息时:<br>需要先使用uint8_t类型指针变量保存比特率列表,使用size_t类型变量保存字节数组长度。<br>然后分配若干个uint32_t类型的存储空间,接收将uint8_t字节数组转换为uint32_t类型比特率整数值。<br>可以参考[开发指南](../../media/media/using-ndk-avplayer-for-playback.md)中[OH_AVPlayerOnInfoCallback](#oh_avplayeroninfocallback)函数。<br>**起始版本:** 12 |
59| const char * OH_PLAYER_AUDIO_INTERRUPT_TYPE | 获取音频打断类型的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
60| const char * OH_PLAYER_AUDIO_INTERRUPT_FORCE | 获取音频打断FORCE类型的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
61| const char * OH_PLAYER_AUDIO_INTERRUPT_HINT | 获取音频打断HINT类型的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
62| const char * OH_PLAYER_AUDIO_DEVICE_CHANGE_REASON | 获取音频设备变更原因的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
63| const char * OH_PLAYER_BUFFERING_TYPE | 获取缓冲更新消息类型的关键字,对应值类型是[AVPlayerBufferingType](capi-avplayer-base-h.md#avplayerbufferingtype)。<br>通过该关键字获取信息时,需要先使用int32_t类型变量保存结果,再转换为AVPlayerBufferingType类型。<br>**起始版本:** 12 |
64| const char * OH_PLAYER_BUFFERING_VALUE | 获取缓冲更新消息数值的关键字,对应值类型是int32_t,参见[AVPlayerBufferingType](capi-avplayer-base-h.md#avplayerbufferingtype)。<br>当缓冲更新消息类型是AVPLAYER_BUFFERING_PERCENT、AVPLAYER_BUFFERING_CACHED_DURATION时有效。<br>**起始版本:** 12 |
65| const char * OH_PLAYER_SEEK_POSITION | 获取Seek后播放进度的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
66| const char * OH_PLAYER_PLAYBACK_SPEED | 获取播放倍速信息的关键字, 对应值类型是[AVPlaybackSpeed](capi-avplayer-base-h.md#avplaybackspeed)。<br>通过该关键字获取信息时,需要先使用int32_t类型变量保存结果,再转换为AVPlaybackSpeed类型。<br>**起始版本:** 12 |
67| const char * OH_PLAYER_PLAYBACK_RATE | 获取有效播放速率的关键字,对应值类型是浮点数。<br>**起始版本:** 20 |
68| const char * OH_PLAYER_BITRATE | 获取比特率信息的关键字,对应值类型是uint32_t。<br>**起始版本:** 12 |
69| const char * OH_PLAYER_CURRENT_POSITION | 获取播放进度信息的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
70| const char * OH_PLAYER_DURATION | 获取媒体资源时长信息的关键字,对应值类型是int64_t。<br>**起始版本:** 12 |
71| const char * OH_PLAYER_VIDEO_WIDTH | 获取视频宽度信息的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
72| const char * OH_PLAYER_VIDEO_HEIGHT | 获取视频高度信息的关键字,对应值类型是int32_t。<br>**起始版本:** 12 |
73| const char * OH_PLAYER_MESSAGE_TYPE | 获取播放器消息信息的关键字,对应值类型是int32_t。<br>1:视频帧开始渲染。<br>**起始版本:** 12 |
74| const char * OH_PLAYER_IS_LIVE_STREAM | 获取媒体资源是否为直播类型信息的关键字,对应值类型是int32_t。<br>1:直播。<br>**起始版本:** 12 |
75
76## 枚举类型说明
77
78### AVPlayerState
79
80```
81enum AVPlayerState
82```
83
84**描述**
85
86播放状态。
87
88**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
89
90**起始版本:** 11
91
92| 枚举项 | 描述 |
93| -- | -- |
94| AV_IDLE = 0 | 空闲 |
95| AV_INITIALIZED = 1 | 初始化 |
96| AV_PREPARED = 2 | 准备 |
97| AV_PLAYING = 3 | 播放 |
98| AV_PAUSED = 4 | 暂停 |
99| AV_STOPPED = 5 | 停止 |
100| AV_COMPLETED = 6 | 结束 |
101| AV_RELEASED = 7 | 释放 |
102| AV_ERROR = 8 | 错误 |
103
104### AVPlayerSeekMode
105
106```
107enum AVPlayerSeekMode
108```
109
110**描述**
111
112跳转模式。
113
114**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
115
116**起始版本:** 11
117
118| 枚举项 | 描述 |
119| -- | -- |
120| AV_SEEK_NEXT_SYNC = 0 | 同步到时间点之后的关键帧。 |
121| AV_SEEK_PREVIOUS_SYNC | 同步到时间点之前的关键帧。 |
122| AV_SEEK_CLOSEST = 2 | 同步到距离指定时间点最近的帧。<br>**起始版本:** 12 |
123
124### AVPlaybackSpeed
125
126```
127enum AVPlaybackSpeed
128```
129
130**描述**
131
132播放速度。
133
134**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
135
136**起始版本:** 11
137
138| 枚举项 | 描述 |
139| -- | -- |
140| AV_SPEED_FORWARD_0_75_X | 0.75倍速播放。 |
141| AV_SPEED_FORWARD_1_00_X | 正常播放。 |
142| AV_SPEED_FORWARD_1_25_X | 1.25倍速播放。 |
143| AV_SPEED_FORWARD_1_75_X | 1.75倍速播放。 |
144| AV_SPEED_FORWARD_2_00_X | 2.0倍速播放。 |
145| AV_SPEED_FORWARD_0_50_X | 0.5倍速播放。<br>**起始版本:** 12 |
146| AV_SPEED_FORWARD_1_50_X | 1.5倍速播放。<br>**起始版本:** 12 |
147| AV_SPEED_FORWARD_3_00_X | 3.0倍速播放。<br>**起始版本:** 13 |
148| AV_SPEED_FORWARD_0_25_X | 0.25倍速播放。<br>**起始版本:** 13 |
149| AV_SPEED_FORWARD_0_125_X | 0.125倍速播放。<br>**起始版本:** 13 |
150
151### AVPlayerOnInfoType
152
153```
154enum AVPlayerOnInfoType
155```
156
157**描述**
158
159OnInfo类型。<br>可用于OH_AVPlayerOnInfoCallback和OH_AVPlayerOnInfo(已废弃),用于表示收到的播放器信息类型。<br>从API 12开始,推荐用户使用[OH_AVPlayerOnInfoCallback](capi-avplayer-base-h.md#oh_avplayeroninfocallback)。不同的OnInfo类型,可获取到不同信息(infoBody),infoBody中包含key-value关系表,详见下述枚举值表。<br>使用API 11版本的开发者,需要使用旧接口。针对已废弃接口OH_AVPlayerOnInfo中使用的对应关系,可直接参考[OH_AVPlayerOnInfo](capi-avplayer-base-h.md#oh_avplayeroninfo)的API说明。
160
161**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
162
163**起始版本:** 11
164
165| 枚举项 | 描述 |
166| -- | -- |
167| AV_INFO_TYPE_SEEKDONE = 0 | 跳转到对应播放位置时返回消息。<br>key为OH_PLAYER_SEEK_POSITION:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。 |
168| AV_INFO_TYPE_SPEEDDONE = 1 | 播放倍速设置完成时返回消息。<br>key为OH_PLAYER_PLAYBACK_SPEED:取值类型[AVPlaybackSpeed](capi-avplayer-base-h.md#avplaybackspeed)。系统通过int32_t传递value,应用需先通过int32_t获取,再强制转为[AVPlaybackSpeed](capi-avplayer-base-h.md#avplaybackspeed)。 |
169| AV_INFO_TYPE_BITRATEDONE = 2 | 比特率设置完成时返回消息。<br>key为OH_PLAYER_BITRATE:取值类型uint32_t。系统通过int32_t传递value,应用需先通过int32_t获取,再强制为uint32_t。 |
170| AV_INFO_TYPE_EOS = 3 | 播放完成时返回消息。 |
171| AV_INFO_TYPE_STATE_CHANGE = 4 | 状态改变时返回消息。<br>key为OH_PLAYER_STATE:取值类型int32_t。系统通过int32_t传递value,应用需先通过int32_t获取,再强制转为[AVPlayerState](capi-avplayer-base-h.md#avplayerstate)。<br>key为OH_PLAYER_STATE_CHANGE_REASON:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。1:用户操作触发;2:系统变更触发。 |
172| AV_INFO_TYPE_POSITION_UPDATE = 5 | 返回当前播放位置。<br>key为OH_PLAYER_CURRENT_POSITION:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。 |
173| AV_INFO_TYPE_MESSAGE = 6 | 视频开始渲染时返回消息。<br>key为OH_PLAYER_MESSAGE_TYPE:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。1表示视频开始渲染。 |
174| AV_INFO_TYPE_VOLUME_CHANGE = 7 | 音量改变时返回消息。<br>key为OH_PLAYER_VOLUME:取值类型float。系统通过float传递value,应用需通过float获取。取值范围[0.0, 1.0]。 |
175| AV_INFO_TYPE_RESOLUTION_CHANGE = 8 | 首次获取视频大小或视频大小更新时返回消息。<br>key为OH_PLAYER_VIDEO_WIDTH 或 OH_PLAYER_VIDEO_HEIGHT:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。 |
176| AV_INFO_TYPE_BUFFERING_UPDATE = 9 | 返回多队列缓冲时间。<br>key为OH_PLAYER_BUFFERING_TYPE:取值类型[AVPlayerBufferingType](capi-avplayer-base-h.md#avplayerbufferingtype)。系统通过int32_t传递value,应用需先通过int32_t获取,再强制转为[AVPlayerBufferingType](capi-avplayer-base-h.md#avplayerbufferingtype)。<br>key为OH_PLAYER_BUFFERING_VALUE:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。<br>当缓冲更新消息类型是AVPLAYER_BUFFERING_PERCENT、AVPLAYER_BUFFERING_CACHED_DURATION时有效,分别表示缓冲进度完成百分比、缓冲数据可播放时长。 |
177| AV_INFO_TYPE_BITRATE_COLLECT = 10 | 上报HLS视频比特率列表消息。<br>key为OH_PLAYER_BITRATE_ARRAY:取值类型uint8_t字节数组。应用需要先使用uint8_t类型指针变量保存比特率列表,使用size_t类型变量保存字节数组长度。然后分配若干个uint32_t类型的存储空间,接收将uint8_t字节数组转换为uint32_t类型比特率整数值。 |
178| AV_INFO_TYPE_INTERRUPT_EVENT = 11 | 音频焦点改变时返回消息。<br>取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。<br>key为:<br>OH_PLAYER_AUDIO_INTERRUPT_TYPE:取值1表示中断事件开始;2表示结束。<br>OH_PLAYER_AUDIO_INTERRUPT_FORCE:取值0表示强制打断,系统改变音频播放状态;1表示共享打断,应用改变音频播放状态。<br>OH_PLAYER_AUDIO_INTERRUPT_HINT:取值0表示NONE,无提示;1表示RESUME,提示音频恢复;2表示PAUSE,提示音频暂停暂时失去焦点;3表示STOP,提示音频停止;4表示DUCK,音频降低音量;5表示UNDUCK,音频恢复音量。 |
179| AV_INFO_TYPE_DURATION_UPDATE = 12 | 返回播放时长。<br>key为OH_PLAYER_DURATION:取值类型int64_t。系统通过int64_t传递value,应用需通过int64_t获取。 |
180| AV_INFO_TYPE_IS_LIVE_STREAM = 13 | 播放为直播流时返回消息。key为OH_PLAYER_IS_LIVE_STREAM:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。0表示非直播流,1表示直播流。 |
181| AV_INFO_TYPE_TRACKCHANGE = 14 | 轨道改变时返回消息,此场景extra未定义。 |
182| AV_INFO_TYPE_TRACK_INFO_UPDATE = 15 | 轨道更新时返回消息,此场景extra未定义。 |
183| AV_INFO_TYPE_SUBTITLE_UPDATE = 16 | 字幕信息更新时返回消息,此场景extra未定义。 |
184| AV_INFO_TYPE_AUDIO_OUTPUT_DEVICE_CHANGE = 17 | 音频输出设备改变时返回消息。<br>key为OH_PLAYER_AUDIO_DEVICE_CHANGE_REASON:取值类型int32_t。系统通过int32_t传递value,应用需通过int32_t获取。 |
185| AV_INFO_TYPE_PLAYBACK_RATE_DONE = 18 | 播放速率成功应用时返回消息。<br>key为OH_PLAYER_PLAYBACK_RATE:取值类型float。系统通过float传递value,应用通过float获取。<br>**起始版本:** 20 |
186
187### AVPlayerBufferingType
188
189```
190enum AVPlayerBufferingType
191```
192
193**描述**
194
195播放缓冲消息类型定义。
196
197**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
198
199**起始版本:** 12
200
201| 枚举项 | 描述 |
202| -- | -- |
203| AVPLAYER_BUFFERING_START = 1 | 缓冲开始消息。 |
204| AVPLAYER_BUFFERING_END | 缓冲结束消息。 |
205| AVPLAYER_BUFFERING_PERCENT | 缓冲执行进度百分比,取值范围:整数,[0, 100]。 |
206| AVPLAYER_BUFFERING_CACHED_DURATION | 缓冲数据可播放时长,单位:毫秒。 |
207
208
209## 函数说明
210
211### OH_AVPlayerOnInfo()
212
213```
214typedef void (*OH_AVPlayerOnInfo)(OH_AVPlayer *player, AVPlayerOnInfoType type, int32_t extra)
215```
216
217**描述**
218
219收到播放器消息时调用。
220
221信息类型(type)和信息(extra)的对应关系如表所示。
222
223| 信息类型(type) | 对应的extra描述 |
224| -------- | -------- |
225| AV_INFO_TYPE_SEEKDONE | 跳转到对应播放位置时返回消息,extra表示跳转到的位置。 |
226| AV_INFO_TYPE_SPEEDDONE | 播放倍速设置完成时返回消息,extra表示播放倍速信息,具体请参考[AVPlaybackSpeed](#avplaybackspeed)。 |
227| AV_INFO_TYPE_BITRATEDONE | 比特率设置完成时返回消息,extra表示比特率信息。 |
228| AV_INFO_TYPE_EOS | 播放完成时返回消息。|
229| AV_INFO_TYPE_STATE_CHANGE | 状态改变时返回消息,extra表示当前播放状态,具体请参见[AVPlayerState](#avplayerstate)。 |
230| AV_INFO_TYPE_POSITION_UPDATE | 返回当前播放位置,extra表示当前位置。 |
231| AV_INFO_TYPE_MESSAGE | 视频开始渲染时返回消息,extra表示视频首帧渲染。 |
232| AV_INFO_TYPE_VOLUME_CHANGE | 音量改变时返回消息,此场景下extra未定义。 |
233| AV_INFO_TYPE_RESOLUTION_CHANGE | 首次获取视频大小或视频大小更新时返回消息,此场景下extra未定义。 |
234| AV_INFO_TYPE_BUFFERING_UPDATE | 返回多队列缓冲时间,extra表示视频时长。 |
235| AV_INFO_TYPE_BITRATE_COLLECT  | 上报HLS视频比特率列表消息。上报时每个比特率已经转化为uint8_t字节数组,使用者需要将uint8_t字节数组强制转换为uint32_t整型数组。   |
236| AV_INFO_TYPE_INTERRUPT_EVENT | 音频焦点改变时返回消息,extra表示音频打断提示,具体请参见[OH_AudioInterrupt_Hint](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiointerrupt_hint),应用可决定是否根据打断提示作进一步处理。 |
237| AV_INFO_TYPE_DURATION_UPDATE | 返回播放时长,extra表示视频时长。 |
238| AV_INFO_TYPE_IS_LIVE_STREAM | 播放为直播流时返回消息,extra表示是否为直播流,0表示非直播流,1表示直播流。 |
239| AV_INFO_TYPE_TRACKCHANGE | 轨道改变时返回消息,此场景extra未定义。 |
240| AV_INFO_TYPE_TRACK_INFO_UPDATE |轨道更新时返回消息,此场景extra未定义。 |
241| AV_INFO_TYPE_SUBTITLE_UPDATE | 字幕信息更新时返回消息,此场景extra未定义。 |
242| AV_INFO_TYPE_AUDIO_OUTPUT_DEVICE_CHANGE | 音频输出设备改变时返回消息,extra表示设备改变原因,具体请参见[OH_AudioStream_DeviceChangeReason](../apis-audio-kit/capi-native-audiostream-base-h.md#oh_audiostream_devicechangereason)。 |
243
244**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
245
246**起始版本:** 11
247
248**废弃版本:** 12
249
250**替代接口:** [OH_AVPlayerOnInfoCallback](capi-avplayer-base-h.md#oh_avplayeroninfocallback)
251
252
253**参数:**
254
255| 参数项 | 描述 |
256| -- | -- |
257| [OH_AVPlayer](capi-avplayer-oh-avplayer.md) *player | 指向OH_AVPlayer实例的指针。 |
258| [AVPlayerOnInfoType](capi-avplayer-base-h.md#avplayeroninfotype) type | 信息类型。类型为[AVPlayerOnInfoType](capi-avplayer-base-h.md#avplayeroninfotype),与extra的对应关系可见方法描述。 |
259|  int32_t extra | 其他信息,如播放文件的开始时间位置。 |
260
261### OH_AVPlayerOnInfoCallback()
262
263```
264typedef void (*OH_AVPlayerOnInfoCallback)(OH_AVPlayer *player, AVPlayerOnInfoType type, OH_AVFormat* infoBody,void *userData)
265```
266
267**描述**
268
269收到播放器消息时被调用。如果应用成功设置该回调,则不会回调OH_AVPlayerOnInfo函数。
270
271**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
272
273**起始版本:** 12
274
275
276**参数:**
277
278| 参数项 | 描述 |
279| -- | -- |
280| [OH_AVPlayer](capi-avplayer-oh-avplayer.md) *player | 指向OH_AVPlayer实例的指针。 |
281| [AVPlayerOnInfoType](capi-avplayer-base-h.md#avplayeroninfotype) type | 信息类型。具体请参见[AVPlayerOnInfoType](capi-avplayer-base-h.md#avplayeroninfotype)。 |
282| [OH_AVFormat](../apis-avcodec-kit/_core.md#oh_avformat)* infoBody | 指向携带具体消息的指针,仅在该回调方法内有效。 |
283| void *userData | 指向应用调用者设置该回调函数时提供的实例的指针。 |
284
285### OH_AVPlayerOnError()
286
287```
288typedef void (*OH_AVPlayerOnError)(OH_AVPlayer *player, int32_t errorCode, const char *errorMsg)
289```
290
291**描述**
292
293在api9以上的版本发生错误时调用
294
295**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
296
297**起始版本:** 11
298
299**废弃版本:** 12
300
301**替代接口:** [OH_AVPlayerOnInfoCallback](capi-avplayer-base-h.md#oh_avplayeroninfocallback) [OH_AVPlayerOnError](capi-avplayer-base-h.md#oh_avplayeronerror)
302
303
304**参数:**
305
306| 参数项 | 描述 |
307| -- | -- |
308| [OH_AVPlayer](capi-avplayer-oh-avplayer.md) *player | 指向OH_AVPlayer实例的指针。 |
309|  int32_t errorCode | 错误码。<br>AV_ERR_NO_MEMORY:无内存,取值为1。<br>AV_ERR_OPERATE_NOT_PERMIT:操作不允许,取值为2。<br>AV_ERR_INVALID_VAL:无效值,取值为3。<br>AV_ERR_IO:IO错误,取值为4。<br>AV_ERR_TIMEOUT:超时错误,取值为5。<br>AV_ERR_UNKNOWN:未知错误,取值为6。<br>AV_ERR_SERVICE_DIED:服务死亡,取值为7。<br>AV_ERR_INVALID_STATE:当前状态不支持此操作,取值为8。<br>AV_ERR_UNSUPPORT:未支持的接口,取值为9。<br>AV_ERR_EXTEND_START:扩展错误码初始值,取值为100。 |
310|  const char *errorMsg | 错误消息。 |
311
312### OH_AVPlayerOnErrorCallback()
313
314```
315typedef void (*OH_AVPlayerOnErrorCallback)(OH_AVPlayer *player, int32_t errorCode, const char *errorMsg,void *userData)
316```
317
318**描述**
319
320发生错误时被调用。如果应用成功设置该回调,则不会调用OH_AVPlayerOnError函数。
321
322**系统能力:** SystemCapability.Multimedia.Media.AVPlayer
323
324**起始版本:** 12
325
326
327**参数:**
328
329| 参数项 | 描述 |
330| -- | -- |
331| [OH_AVPlayer](capi-avplayer-oh-avplayer.md) *player | 指向OH_AVPlayer实例的指针。 |
332|  int32_t errorCode | 错误码。<br>AV_ERR_NO_MEMORY:无内存,取值为1。<br>AV_ERR_OPERATE_NOT_PERMIT:操作不允许,取值为2。<br>AV_ERR_INVALID_VAL:无效值,取值为3。<br>AV_ERR_IO:IO错误。API 12-13取值为4;API 14及以后,对应错误细化为错误码5411001~5411011。<br>AV_ERR_TIMEOUT:超时错误,取值为5。<br>AV_ERR_UNKNOWN:未知错误,取值为6。<br>AV_ERR_SERVICE_DIED:服务死亡,取值为7。<br>AV_ERR_INVALID_STATE:当前状态不支持此操作,取值为8。<br>AV_ERR_UNSUPPORT:未支持的接口,取值为9。<br>AV_ERR_EXTEND_START:扩展错误码初始值,取值为100。 |
333|  const char *errorMsg | 错误消息。 |
334| void *userData | 原样返回用户设置回调时传入的userData数据。 |
335
336
337