• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Interface (NativeMediaPlayerHandler)
2<!--Kit: ArkWeb-->
3<!--Subsystem: Web-->
4<!--Owner: @zhangyao75477-->
5<!--Designer: @qiu-gongkai-->
6<!--Tester: @ghiker-->
7<!--Adviser: @HelloCrease-->
8
9[CreateNativeMediaPlayerCallback](./arkts-apis-webview-t.md#createnativemediaplayercallback12) 回调函数的参数。
10应用通过该对象,将播放器的状态报告给ArkWeb内核。
11
12> **说明:**
13>
14> - 本模块首批接口从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
15>
16> - 本Interface首批接口从API version 12开始支持。
17>
18> - 示例效果请以真机运行为准,当前DevEco Studio预览器不支持。
19
20## handleStatusChanged<sup>12+<sup>
21
22handleStatusChanged(status: PlaybackStatus): void
23
24当播放器的播放状态发生变化时,调用该方法将播放状态通知给 ArkWeb 内核。
25
26**系统能力:** SystemCapability.Web.Webview.Core
27
28**参数:**
29
30| 参数名 | 类型 | 必填 | 说明 |
31|--------|------|------|------|
32| status | [PlaybackStatus](./arkts-apis-webview-e.md#playbackstatus12) | 是 | 播放器的播放状态。 |
33
34**示例:**
35
36完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
37
38## handleVolumeChanged<sup>12+<sup>
39
40handleVolumeChanged(volume: number): void
41
42当播放器的音量发生变化时,调用该方法将音量通知给 ArkWeb 内核。
43
44**系统能力:** SystemCapability.Web.Webview.Core
45
46**参数:**
47
48| 参数名 | 类型 | 必填 | 说明 |
49|--------|------|------|------|
50| volume | number | 是 | 播放器的音量,取值范围:[0, 1.0]。|
51
52**示例:**
53
54完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
55
56## handleMutedChanged<sup>12+<sup>
57
58handleMutedChanged(muted: boolean): void
59
60当播放器的静音状态发生变化时,调用该方法将静音状态通知给 ArkWeb 内核。
61
62**系统能力:** SystemCapability.Web.Webview.Core
63
64**参数:**
65
66| 参数名 | 类型 | 必填 | 说明 |
67|--------|------|------|------|
68| muted | boolean | 是 | 当前播放器是否静音。<br>true表示当前播放器静音,false表示当前播放器未静音。 |
69
70**示例:**
71
72完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
73
74## handlePlaybackRateChanged<sup>12+<sup>
75
76handlePlaybackRateChanged(playbackRate: number): void
77
78当播放器的播放速度发生变化时,调用该方法将播放速度通知给 ArkWeb 内核。
79
80**系统能力:** SystemCapability.Web.Webview.Core
81
82**参数:**
83
84| 参数名 | 类型 | 必填 | 说明 |
85|--------|------|------|------|
86| playbackRate | number | 是 | 播放速率,取值范围:[0, +∞) |
87
88**示例:**
89
90完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
91
92## handleDurationChanged<sup>12+<sup>
93
94handleDurationChanged(duration: number): void
95
96当播放器解析出媒体的总时长时,调用该方法将媒体的总时长通知给 ArkWeb 内核。
97
98**系统能力:** SystemCapability.Web.Webview.Core
99
100**参数:**
101
102| 参数名 | 类型 | 必填 | 说明 |
103|--------|------|------|------|
104| duration | number | 是 | 媒体的总时长。<br>单位:秒,取值范围:[0, +∞) |
105
106**示例:**
107
108完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
109
110## handleTimeUpdate<sup>12+<sup>
111
112handleTimeUpdate(currentPlayTime: number): void
113
114当媒体的播放进度发生变化时,调用该方法将媒体的播放进度通知给 ArkWeb 内核。
115
116**系统能力:** SystemCapability.Web.Webview.Core
117
118**参数:**
119
120| 参数名 | 类型 | 必填 | 说明 |
121|--------|------|------|------|
122| currentPlayTime | number | 是 | 当前播放时间。<br>单位:秒,取值范围:[0, duration]  |
123
124**示例:**
125
126完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
127
128## handleBufferedEndTimeChanged<sup>12+<sup>
129
130handleBufferedEndTimeChanged(bufferedEndTime: number): void
131
132当媒体的缓冲时长发生变化时,调用该方法将媒体的缓冲时长通知给 ArkWeb 内核。
133
134**系统能力:** SystemCapability.Web.Webview.Core
135
136**参数:**
137
138| 参数名 | 类型 | 必填 | 说明 |
139|--------|------|------|------|
140| bufferedEndTime | number | 是 | 媒体缓冲的时长。<br>单位:秒,取值范围:[0, duration] |
141
142**示例:**
143
144完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
145
146## handleEnded<sup>12+<sup>
147
148handleEnded(): void
149
150当媒体播放结束时,调用该方法通知给 ArkWeb 内核。
151
152**系统能力:** SystemCapability.Web.Webview.Core
153
154**示例:**
155
156完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
157
158## handleNetworkStateChanged<sup>12+<sup>
159
160handleNetworkStateChanged(state: NetworkState): void
161
162当播放器的网络状态发生变化时,调用该方法将播放器的网络状态通知给 ArkWeb 内核。
163
164**系统能力:** SystemCapability.Web.Webview.Core
165
166**参数:**
167
168| 参数名 | 类型 | 必填 | 说明 |
169|--------|------|------|------|
170| state | [NetworkState](./arkts-apis-webview-e.md#networkstate12) | 是 | 播放器的网络状态。 |
171
172**示例:**
173
174完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
175
176## handleReadyStateChanged<sup>12+<sup>
177
178handleReadyStateChanged(state: ReadyState): void
179
180当播放器的缓存状态发生变化时,调用该方法将播放器的缓存状态通知给 ArkWeb 内核。
181
182**系统能力:** SystemCapability.Web.Webview.Core
183
184**参数:**
185
186| 参数名 | 类型 | 必填 | 说明 |
187|--------|------|------|------|
188| state | [ReadyState](./arkts-apis-webview-e.md#readystate12) | 是 | 播放器的缓存状态。 |
189
190**示例:**
191
192完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
193
194## handleFullscreenChanged<sup>12+<sup>
195
196handleFullscreenChanged(fullscreen: boolean): void
197
198当播放器的全屏状态发生变化时,调用该方法将播放器的全屏状态通知给 ArkWeb 内核。
199
200**系统能力:** SystemCapability.Web.Webview.Core
201
202**参数:**
203
204| 参数名 | 类型 | 必填 | 说明 |
205|--------|------|------|------|
206| fullscreen | boolean | 是 | 是否全屏。<br>true表示全屏,false表示未全屏。 |
207
208**示例:**
209
210完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
211
212## handleSeeking<sup>12+<sup>
213
214handleSeeking(): void
215
216当播放器进入seek 状态时,调用该方法通知 ArkWeb 内核。
217
218**系统能力:** SystemCapability.Web.Webview.Core
219
220**示例:**
221
222完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
223
224## handleSeekFinished<sup>12+<sup>
225
226handleSeekFinished(): void
227
228当播放器 seek 完成后,调用该方法通知 ArkWeb 内核。
229
230**系统能力:** SystemCapability.Web.Webview.Core
231
232**示例:**
233
234完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
235
236## handleError<sup>12+<sup>
237
238handleError(error: MediaError, errorMessage: string): void
239
240当播放器发生错误时, 调用该方法通知 ArkWeb 内核。
241
242**系统能力:** SystemCapability.Web.Webview.Core
243
244**参数:**
245
246| 参数名 | 类型 | 必填 | 说明 |
247|--------|------|------|------|
248| error | [MediaError](./arkts-apis-webview-e.md#mediaerror12) | 是 | 错误类型。 |
249| errorMessage | string | 是 | 错误的详细描述。 |
250
251**示例:**
252
253完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
254
255## handleVideoSizeChanged<sup>12+<sup>
256
257handleVideoSizeChanged(width: number, height: number): void
258
259当播放器解析出视频的尺寸时, 调用该方法通知 ArkWeb 内核。
260
261**系统能力:** SystemCapability.Web.Webview.Core
262
263**参数:**
264
265| 参数名 | 类型 | 必填 | 说明 |
266|--------|------|------|------|
267| width  | number | 是 | 视频的宽,单位为像素,取值范围:[0, +∞) |
268| height | number | 是 | 视频的高,单位为像素,取值范围:[0, +∞) |
269
270**示例:**
271
272完整示例代码参考[onCreateNativeMediaPlayer](./arkts-apis-webview-WebviewController.md#oncreatenativemediaplayer12)。
273