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