- Videoplayer插件可以用来播放视频在krpano...
- 作为普通的平面视频通过<layer>元素,
- 或通过<hotspot>元素作为平面或3d扭曲的热点,
- 或者在通过<image>元素引用视频时作为pano.
主题
语法
作为屏幕上的平面图层元素:
<layer name="video"
url="videoplayer.js"
videourl="video.m4v|video.webm"
posterurl="videoposter.jpg"
align="center" x="0" y="0"
pausedonstart="false"
loop="false"
volume="1.0"
onvideoready=""
onvideoplay=""
onvideopaused=""
onvideocomplete=""
onerror=""
/>
作为3d变形热点:
<hotspot name="video"
url="videoplayer.js"
videourl="video.m4v|video.webm"
posterurl="videoposter.jpg"
ath="0.0" atv="0.0"
distorted="true"
scale="1.0"
rx="0.0"
ry="0.0"
rz="0.0"
pausedonstart="false"
loop="false"
volume="1.0"
onvideoready=""
onvideoplay=""
onvideopaused=""
onvideocomplete=""
onerror=""
/>
作为全景图像:
<plugin name="video"
url="videoplayer.js"
videourl="video.m4v|video.webm"
posterurl="videoposter.jpg"
panovideo="true"
pausedonstart="false"
loop="false"
volume="1.0"
onvideoready=""
onvideoplay=""
onvideopaused=""
onvideocomplete=""
onerror=""
/>
<image hfov="360" vfov="180">
<sphere url="plugin:video" />
</image>
插件属性
Attribute name | Type | Default value |
videourl | String | |
---|---|---|
| ||
Attribute name | Type | Default value |
posterurl | String | |
| ||
Attribute name | Type | Default value |
panovideo | Boolean | false |
| ||
Attribute name | Type | Default value |
pausedonstart | Boolean | false |
| ||
Attribute name | Type | Default value |
loop | Boolean | false |
| ||
Attribute name | Type | Default value |
volume | Number | 1.0 |
| ||
Attribute name (HTML5 only) | Type | Default value |
muted | Boolean | false |
| ||
Attribute name | Type | Default value |
playbackrate | Number | 1.0 |
| ||
Attribute name | Type | Default value |
preferredformat | String | |
preferredformat.firefox = " webm " | ||
Attribute name | Type | Default value |
autopause autoresume | Boolean Boolean | true false |
| ||
Attribute name | Type | Default value |
html5controls | Boolean | false |
| ||
Attribute name | Type | Default value |
html5preload | String | "auto" |
| ||
Attribute name | Type | Default value |
playsinline | Boolean | true |
| ||
Attribute name | Type | Default value |
userinteractionworkarounds | Boolean | true |
|
Plugin Events
Attribute name | Type | Default value |
onvideoready | Action Event | |
---|---|---|
| ||
Attribute name | Type | Default value |
onvideoplay | Action Event | |
| ||
Attribute name | Type | Default value |
onvideopaused | Action Event | |
| ||
Attribute name | Type | Default value |
onvideocomplete | Action Event | |
| ||
Attribute name | Type | Default value |
onerror | Action Event | |
| ||
Attribute name | Type | Default value |
onneeduserinteraction | Action Event | |
| ||
Attribute name | Type | Default value |
ongotuserinteraction | Action Event | |
|
Plugin State Attributes (read only)
Attribute name | Type | Initial value |
isvideoready ispaused isseeking iscomplete isautopaused needuserinteraction | Boolean Boolean Boolean Boolean Boolean Boolean | false false false false false false |
---|---|---|
动态检查视频播放状态的变量:
| ||
Attribute name | Type | Initial value |
videoerror | String | |
| ||
Attribute name | Type | Initial value |
time totaltime | Number Number | 0.0 0.0 |
播放时间信息: | ||
Attribute name | Type | Initial value |
videowidth videoheight | int int | 0 0 |
| ||
Attribute name | Type | Initial value |
loadedbytes totalbytes | int int | 0 0 |
Loading information:
HTML5注意事项-在HTML5中,不可能确定实际字节大小。因此,在HTML5中,这些值表示当前缓冲的数据(以秒为单位)乘以1048576 (=1024*1024,=1 MB)。 |
插件操作
playvideo(url, posterurl, pausedonstart, starttime)
- 打开一个新的视频url并开始播放它。
- 当前正在播放的视频将被停止并关闭。
Parameters:
- url
- 视频文件的url。
- 与视频视频设置相同。
- posterurl (可选)
- 海报图片的url。
- 与posterurl设置相同。
- 强烈建议添加海报图像!
- pausedonstart (可选)
- 如果视频在开始时暂停。
- 与pausedonstart设置相同。
- starttime (可选)
- 设置视频开始时间。
- 这是通过在视频准备好后直接查找给定时间来实现的。
- 仅支持HTML5。
play()
- 播放或恢复暂停的视频。
pause()
- 暂停视频。
- 可以通过调用play()操作来恢复视频。
togglepause()
- 暂停或恢复视频取决于当前的播放状态。
stop()
- 停止视频⇒移动到第一帧并在那里暂停。
- 可以通过调用play()操作来恢复视频。
seek(time)
- 寻求给定的时间/播放位置。
- 根据视频编码(编解码器和关键帧间隔),视频将只在给定位置的“附近”寻找。
参数:
- time
- 预期的播放位置。
- 要么在几秒钟内。
- 或者作为百分比值(0% - 100%)。
开源插件
如果你是一个Javascript开发者,想要直接使用HTML5视频对象,例如尝试HTML5视频流技术,如DASH或HLS,这里有一个开源版本的krpano HTML5视频播放器插件。
插件源代码本身被简化了,只提供了基本的接口(没有状态管理,没有iPhone支持,没有海报支持),但它展示了krpano插件接口和krpano视频内部是如何工作的,以及如何使用它们。
文件:
- videoplayer_basic_source.js (view) - download
- Full Example (view) - downloadVideoplayerdownload