as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

IPlayerServerHandler

IPlayerServerHandler

一个处理程序的接口,用于提供PlayerServer的服务逻辑。

属性

handleLoad

handleLoad: (mediaInfo: IPlayerSessionMediaInfo, loadParams?: IPlayerSessionLoadParams, sessionId?: IPlayerSessionId) => void

处理通过URL加载内容的请求。当应用通过交互式组件调用IPlayerClient.load时,就会收到此调用。

对于与sessionId相对应的播放器会话,应用必须实现此函数,才能使用mediaInfoloadParams中提供的字段值来初始化MediaPlayer实例。


handleUnload

handleUnload: (sessionId?: IPlayerSessionId) => void

从媒体会话中卸载内容,以响应来自交互式组件的IPlayerClient.unload调用。

应用程序必须实现此函数才能针对与给定sessionId关联的播放器会话释放MediaPlayer和媒体源扩展 (MSE) 资源。


handleUnloadSync?

optional handleUnloadSync: ((timeoutMsec: number, sessionId?: IPlayerSessionId) => IUnloadSyncStatus)

从媒体会话中卸载内容,以响应来自交互式组件的IPlayerClient.unloadSync调用。

应用必须实现此函数才能针对与给定sessionId关联的播放器会话同步释放MediaPlayer和媒体源扩展 (MSE) 资源。对于W3CMedia MediaPlayer实例,使用deinitializeSync API。


handleSetVideoView

handleSetVideoView: (handle: IViewHandle, sessionId?: IPlayerSessionId) => void

处理设置视频视图的请求。当应用通过交互式组件调用IPlayerClient.setVideoView时,就会收到此调用。


handleClearVideoView

handleClearVideoView: (sessionId?: IPlayerSessionId) => void

处理清除文本视图的请求。当应用通过交互式组件调用IPlayerClient.clearVideoView时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的VideoPlayer实例上调用clearSurfaceHandle


handleSetTextView

handleSetTextView: (handle: IViewHandle, sessionId?: IPlayerSessionId) => void

处理设置文本视图的请求。当应用通过交互式组件调用IPlayerClient.setTextView时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的VideoPlayer实例上调用setCaptionViewHandle


handleClearTextView

handleClearTextView: (sessionId?: IPlayerSessionId) => void

处理清除文本视图的请求。当应用通过交互式组件调用IPlayerClient.clearTextView时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的VideoPlayer实例上调用clearCaptionViewHandle


handlePlay

handlePlay: (sessionId?: IPlayerSessionId) => void

处理恢复或开始播放的请求。当应用通过交互式组件调用IPlayerClient.play时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的Video,AudioPlayer实例上调用play

如果应用已经在播放并且播放速度不正常(速度并非1.0),那么这可让播放速度恢复到正常速度。在已经处于播放状态时收到多个播放请求不是错误,应该发出成功信号。媒体服务器应更新相应的IISessionStatus以反映新的播放状态。


handlePause

handlePause: (sessionId?: IPlayerSessionId) => void

处理暂停播放的请求。当应用通过交互式组件调用IPlayerClient.pause时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的Video,AudioPlayer实例上调用pause

在已经处于暂停状态时收到多个暂停请求不是错误,应该发出成功信号。媒体服务器应更新相应的IISessionStatus以反映新的播放状态。


handleSeek

handleSeek: (position: number, isRelative?: boolean, sessionId?: IPlayerSessionId) => void

处理跳转到给定播放位置的请求。当应用通过交互式组件调用IPlayerClient.seek时,就会收到此调用。

应用必须实现此函数才能更改与sessionId对应的Video,AudioPlayer实例的currentTime。

媒体服务器应更新相应的IISessionStatus以反映新的播放位置。


handleSetMute

handleSetMute: (isMuted: boolean, sessionId?: IPlayerSessionId) => void

处理静音播放的请求。当应用通过交互式组件调用IPlayerClient.setMute时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的Video,AudioPlayer实例上设置muted

媒体服务器应更新相应的IISessionStatus以反映新的播放状态。


handleSetPlaybackRate

handleSetPlaybackRate: (playbackRate: number, sessionId?: IPlayerSessionId) => void

处理设置媒体播放速度的请求。当应用通过交互式组件调用IPlayerClient.setPlaybackRate时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的Video,AudioPlayer实例上设置playbackRate

媒体会话应更新其IISessionStatus以反映新播放状态。


handleSetVolume

handleSetVolume: (volume: number, sessionId?: IPlayerSessionId) => void

处理设置媒体播放音量的请求。当应用通过交互式组件调用IPlayerClient.setVolume时,就会收到此调用。

应用必须实现此函数才能在与sessionId对应的Video,AudioPlayer实例上设置volume

媒体会话应更新其IISessionStatus以反映新播放状态。


handleSetActiveTrack

handleSetActiveTrack: (trackType: ITrackType, trackId: string, sessionId?: IPlayerSessionId) => void

处理设置媒体播放活跃轨道的请求。当应用通过交互式组件调用IPlayerClient.setActiveTrack时,就会收到此调用。

应用必须实现此函数才能在MSE播放器实例上按ID设置音频、视频或文本轨道。

媒体会话应更新其IISessionStatus以反映新播放状态。


handleGetCurrentPosition

handleGetCurrentPosition: (sessionId?: IPlayerSessionId) => number

处理对交互式组件的请求,以获取媒体播放的当前播放位置。当应用通过交互式组件调用IPlayerClient.getCurrentPosition时,就会收到此调用。

应用必须实现此函数才能从与sessionId对应的Audio,Video Player实例中获取currentTime,然后应用必须使用表示当前播放位置的number(以秒为单位)来解析Promise。


handleMessage

handleMessage: (message: any, sessionId?: IPlayerSessionId) => void

处理从交互式组件接收自定义消息的请求。应用可以使用message对象来执行自定义操作。当应用通过交互式组件调用IPlayerClient.sendMessage时,就会收到此调用。

应用可以实现此函数来处理服务组件中的自定义操作。


handleStartBufferedRangesUpdates

handleStartBufferedRangesUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId进行至少一次IPlayerClient.registerBufferedRangesListener调用时,就会收到此调用。

应用必须通过从服务组件调用IPlayerServer.updateBufferedRanges API,开始发送与sessionId相对应的缓冲范围更新。


handleStopBufferedRangesUpdates

handleStopBufferedRangesUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId取消订阅所有IPlayerSessionBufferedRangesListener实例时,就会收到此调用。

应用必须停止从服务组件发送与sessionId相对应的缓冲范围更新。


handleStartStatusUpdates

handleStartStatusUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId进行至少一次IPlayerClient.registerStatusListener调用时,就会收到此调用。

应用必须通过从服务组件调用IPlayerServer.updateStatus API,开始发送与sessionId相对应的播放器会话状态更新。


handleStopStatusUpdates

handleStopStatusUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId取消订阅所有IPlayerSessionStatusListener实例时,就会收到此调用。

应用必须停止从服务组件发送与sessionId相对应的播放器会话状态更新。


handleStartTrackUpdates

handleStartTrackUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId进行至少一次IPlayerClient.registerTrackListener调用时,就会收到此调用。

应用必须通过从服务组件调用IPlayerServer.addTrackIPlayerServer.removeTrack API,开始发送与sessionId相对应的播放器会话轨道更新。


handleStopTrackUpdates

handleStopTrackUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId取消订阅所有IPlayerSessionTrackListener实例时,就会收到此调用。

应用必须停止从服务组件发送与sessionId相对应的播放器会话轨道更新。


handleStartMessageUpdates

handleStartMessageUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId进行至少一次IPlayerClient.registerMessageListener调用时,就会收到此调用。

应用可以通过从服务组件调用与sessionId对应的IPlayerServer.sendMessage API,开始以JSON对象的形式发送自定义消息。


handleStopMessageUpdates

handleStopMessageUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId取消订阅所有IPlayerSessionTrackListener实例时,就会收到此调用。因此,服务组件不应发送任何与sessionId相对应的消息,因为这些消息没有可用的接收者。


handleStartErrorUpdates

handleStartErrorUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId进行至少一次IPlayerClient.registerErrorListener调用时,就会收到此调用。

应用可以通过从服务组件调用与sessionId对应的IPlayerServer.sendError API,开始以JSON对象的形式发送IPlayerSessionError


handleStopErrorUpdates

handleStopErrorUpdates: (sessionId?: IPlayerSessionId) => void

当应用针对来自交互式组件的sessionId取消订阅所有IPlayerSessionErrorListener实例时,就会收到此调用。因此,服务组件不应发送任何与sessionId相对应的错误,因为这些消息没有可用的接收者。


Last updated: 2026年7月22日