目录

Interface (NativeMediaPlayerHandler)

NativeMediaPlayerHandler 是CreateNativeMediaPlayerCallback回调函数的参数。当应用使用NativeMediaPlayerBridge接管网页媒体播放时,需要通过将播放器的各种状态变化实时同步给 ArkWeb 内核,确保网页 JavaScript 能够获取正确的播放器状态,ArkWeb 内核会将这些状态转换为标准的 HTML5 Media Events,触发网页中注册的事件监听器,从而保证网页功能的正常运行。

  • 本模块首批接口从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

  • 本Interface首批接口从API version 12开始支持。

  • 示例效果请以真机运行为准。

handleStatusChanged12+

handleStatusChanged(status: PlaybackStatus): void

当播放器的播放状态发生变化时,调用该方法将播放状态通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
status PlaybackStatus 是 播放器的播放状态。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleVolumeChanged12+

handleVolumeChanged(volume: number): void

当播放器的音量发生变化时,调用该方法将音量通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
volume number 是 播放器的音量,取值范围:[0, 1.0]。超出范围时,ArkWeb内核将不会执行。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleMutedChanged12+

handleMutedChanged(muted: boolean): void

当播放器的静音状态发生变化时,调用该方法将静音状态通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
muted boolean 是

当前播放器是否静音。

true表示当前播放器静音,false表示当前播放器未静音。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handlePlaybackRateChanged12+

handlePlaybackRateChanged(playbackRate: number): void

当播放器的播放速率发生变化时,调用该方法将播放速率通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
playbackRate number 是 播放速率,取值范围:[0, +∞)。传入负数时,ArkWeb内核将不会执行。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleDurationChanged12+

handleDurationChanged(duration: number): void

当播放器解析出媒体的总时长时,调用该方法将媒体的总时长通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
duration number 是

媒体的总时长。

单位:秒,取值范围:[0, +∞)。传入负数时,ArkWeb内核将不会执行。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleTimeUpdate12+

handleTimeUpdate(currentPlayTime: number): void

当媒体的播放进度发生变化时,调用该方法将媒体的播放进度通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
currentPlayTime number 是

当前播放时间。

单位:秒,取值范围:[0, duration]。超出范围时,ArkWeb内核将不会执行。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleBufferedEndTimeChanged12+

handleBufferedEndTimeChanged(bufferedEndTime: number): void

当媒体的缓冲时长发生变化时,调用该方法将媒体的缓冲时长通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
bufferedEndTime number 是

媒体缓冲的时长。

单位:秒,取值范围:[0, duration]。超出范围时,ArkWeb内核将不会执行。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleEnded12+

handleEnded(): void

当媒体播放结束时,调用该方法将播放结束事件通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleNetworkStateChanged12+

handleNetworkStateChanged(state: NetworkState): void

当播放器的网络状态发生变化时,调用该方法将播放器的网络状态通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
state NetworkState 是 播放器的网络状态。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleReadyStateChanged12+

handleReadyStateChanged(state: ReadyState): void

当播放器的缓存状态发生变化时,调用该方法将播放器的缓存状态通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
state ReadyState 是 播放器的缓存状态。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleFullscreenChanged12+

handleFullscreenChanged(fullscreen: boolean): void

当播放器的全屏状态发生变化时,调用该方法将播放器的全屏状态通知给 ArkWeb 内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
fullscreen boolean 是

是否全屏。

true表示全屏,false表示未全屏。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleSeeking12+

handleSeeking(): void

当播放器进入seek状态时,调用该方法将seek进入事件通知ArkWeb内核。seek完成后,应调用handleSeekFinished将seek完成事件通知ArkWeb内核。

系统能力: SystemCapability.Web.Webview.Core

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleSeekFinished12+

handleSeekFinished(): void

当播放器seek完成后,调用该方法将seek完成事件通知给ArkWeb内核。

系统能力: SystemCapability.Web.Webview.Core

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleError12+

handleError(error: MediaError, errorMessage: string): void

当播放器发生错误时,调用该方法将错误通知给ArkWeb内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
error MediaError 是 错误类型。
errorMessage string 是 错误的详细描述。

示例:

完整示例代码参考onCreateNativeMediaPlayer。

handleVideoSizeChanged12+

handleVideoSizeChanged(width: number, height: number): void

当播放器解析出视频的尺寸时,调用该方法将视频尺寸通知给ArkWeb内核。

系统能力: SystemCapability.Web.Webview.Core

参数:

参数名 类型 必填 说明
width number 是 视频的宽,单位:像素,取值范围:[0, +∞)。传入负数时,ArkWeb内核将忽略该值。
height number 是 视频的高,单位:像素,取值范围:[0, +∞)。传入负数时,ArkWeb内核将忽略该值。

示例:

完整示例代码参考onCreateNativeMediaPlayer。