Krpano Videoplayer插件使用指南

本文详细介绍了krpano中的Videoplayer插件的使用方法,包括作为平面图层、3D热点和全景图像的嵌入,以及其丰富的属性设置、事件触发和基础操作。还提到了一个开源版本的krpanoHTML5视频播放器插件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 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 nameTypeDefault value
videourlString
  • 视频文件的url。
  • 浏览器可以有不同级别的视频格式/编解码器支持。为了使视频可以在所有系统的所有浏览器中播放,有必要以几种格式提供视频。
  • 支持的视频格式有:
    • MPEG4 / H264 (.mp4, .m4v, .mov) - Firefox (Windows 7+) / Safari / Chrome / IE / iOS / Android
    • WebM (.webm) - Firefox / Chrome
    • Ogg Theora (.ogg, .ogv) - Firefox / Chrome
    • HTTP Live Streaming (.m3u, .m3u8) - iOS, Mac Safari only - and only for <layer> usage
  • 要提供多种视频格式并让插件自动选择合适的视频格式,请一次为所有视频文件设置路径,并使用pipe |字符将它们分开。
  • 当支持给定视频的几种格式时,插件将按照从左到右的顺序选择视频。例如支持MP4和WebM,最好使用MP4,则写入videourl="video.mp4|video.webm"。
  • 可以通过preferredformat设置定义自定义格式首选项。
  • 通过提供至少一个基准mp4和一个WebM视频,它应该可以覆盖几乎所有的系统。
  • 还可以考虑使用设备检查属性来为不同的设备指定不同的视频文件。
  • 一旦视频被加载,videourl属性的值将被加载的视频文件的url所取代。
  • HTML5移动笔记——大多数移动设备都支持MP4格式,但MP4配置文件级别的支持可能取决于设备及其操作系统版本。
Attribute nameTypeDefault value
posterurlString
  • 这是一个图像的url(通常是第一个视频帧的截图),在视频加载并准备播放之前,应该显示该图像。
  • 强烈建议添加海报图像!
  • 海报图像需要与视频本身具有相同的像素大小!
Attribute nameTypeDefault value
panovideoBooleanfalse
  • 视频是否应该作为全景视频使用?
  • 此设置为“稍后”(例如在另一个场景中)使用的全景视频准备视频。
  • 如果没有这个设置,视频将作为普通的2d图层/插件元素可见,直到视频被用作pano。
Attribute nameTypeDefault value
pausedonstartBooleanfalse
  • 如果视频在开始时暂停。
  • 注意-在许多较新的浏览器版本中,默认情况下不允许自动播放!
  • 玩家可能需要点击或触摸等用户交互才能开始游戏。Krpano将自动等待第一次点击/触摸屏幕上的任何地方开始播放视频,当这种情况下。
  • 注意-通过静音视频,可以在不允许的情况下自动播放。
Attribute nameTypeDefault value
loopBooleanfalse
  • 视频是否在播放结束时循环或停止。
Attribute nameTypeDefault value
volumeNumber1.0
  • 视频声音音量(0.0 - 1.0)
  • 注意-在iOS上控制视频的音量是不可能的!
Attribute name  (HTML5 only)TypeDefault value
mutedBooleanfalse
  • 将视频静音。
  • 注意-当静音启用(设置为true)时,可能会自动播放(不需要点击或触摸)(取决于浏览器和设备)。
Attribute nameTypeDefault value
playbackrateNumber1.0
  • 设置视频播放速率/速度(HTML5-only)。
  • 例子:
    • 1.0是正常速度
    • 0.5为半速(较慢)
    • 2.0是双倍速度(更快)
  • 负值的反向播放目前不支持或可能在任何浏览器中工作。
  • HTML5 文档:
Attribute nameTypeDefault value
preferredformatString
  • 设置在多种格式可用时使用的首选视频文件格式。
  • 当没有设置时,可用的视频格式将从左到右选择。
  • 这可以用来为特定的浏览器选择特定的格式。例如-在Firefox设置中使用webm:

        preferredformat.firefox = " webm "

Attribute nameTypeDefault value
autopause
autoresume
Boolean
Boolean
true
false
  • autopause - 自动暂停视频时,浏览器选项卡/窗口被隐藏。
  • autoresume - 自动恢复视频时,它被暂停之前隐藏浏览器选项卡/窗口。
Attribute nameTypeDefault value
html5controlsBooleanfalse
Attribute nameTypeDefault value
html5preloadString"auto"
Attribute nameTypeDefault value
playsinlineBooleantrue
  • 在移动设备(iPhone, iPad, Android)上播放视频“内联”krpano。
  • 当禁用时,浏览器可能最终会在自己的内部视频播放器中播放视频,并内联/嵌入到 webpage/pano中。
Attribute nameTypeDefault value
userinteractionworkaroundsBooleantrue
  • 启用自动回放解决方案。
  • 在许多较新的浏览器版本中,默认情况下不允许自动播放!玩家可能需要点击或触摸等用户交互才能开始游戏。当启用krpano将自动等待第一次点击/触摸屏幕上的任何地方开始播放视频时,这种情况下。

Plugin Events

Attribute nameTypeDefault value
onvideoreadyAction Event
  • 此事件将在视频准备播放时调用。
  • 此时,视频帧大小和播放长度(总时间)是已知的。
  • 如果在xml中没有设置插件大小(宽度,高度),那么插件将调整自己的大小为视频的像素大小。
Attribute nameTypeDefault value
onvideoplayAction Event
  • 此事件将在视频开始播放时调用。
Attribute nameTypeDefault value
onvideopausedAction Event
  • 这个事件将在视频暂停时被调用(通过pausedonstart=true在启动时暂停将被忽略)。
  • HTML5注释——在HTML5中,这个事件也会在视频结束时被调用,就在onvideocomplete事件之前。
Attribute nameTypeDefault value
onvideocompleteAction Event
  • 此事件将在视频完全播放时调用。
  • 只有当loop设置为“false”时才会发生这种情况。
Attribute nameTypeDefault value
onerrorAction Event
  • 当加载或播放过程中出现错误时,将调用此事件。
  • 错误消息本身将被设置在videoerror属性中。
  • 当设置此事件时,不会出现默认的错误消息。
Attribute nameTypeDefault value
onneeduserinteractionAction Event
  • 当需要用户的触摸来播放视频时,将调用此事件。
  • 这对于许多手机和平板电脑浏览器来说都是必要的。
  • 当启用userinteractionworkaround设置时,视频播放器插件将自动等待屏幕上任何地方的下一个触摸开始播放视频。
  • onneeduserinteraction事件可用于显示播放按钮或通知用户触摸屏幕以播放视频。
  • 一旦用户触摸屏幕,ongotuserinteraction事件将被发送。
  • 在此事件中,needuserinteraction状态属性将被设置为true。
Attribute nameTypeDefault value
ongotuserinteractionAction Event
  • 这个事件将在用户触摸屏幕开始播放视频时被调用。
  • ongotuserinteraction事件可用于隐藏播放按钮或先前在onneeduserinteraction事件上显示的用户信息。
  • 在此事件中,needuserinteraction状态属性将被设置为false。

Plugin State Attributes (read only)

Attribute nameTypeInitial value
isvideoready
ispaused
isseeking
iscomplete
isautopaused
needuserinteraction
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
false
false
false
false
false
false
动态检查视频播放状态的变量:
Attribute nameTypeInitial value
videoerrorString
  • 最后一条错误消息。
  • 将仅在使用onerror事件进行自定义错误处理时设置。
Attribute nameTypeInitial value
time
totaltime
Number
Number
0.0
0.0
播放时间信息:
  • time - 当前视频播放位置(以秒为单位)。
  • totaltime - 视频的长度/总时间,以秒为单位。
Attribute nameTypeInitial value
videowidth
videoheight
int
int
0
0
  • 源视频帧的像素大小。
  • 在onvideoredy事件之后可用。
Attribute nameTypeInitial 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视频内部是如何工作的,以及如何使用它们。

文件:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值