我正在构建一个多媒体播放器,它需要控制一个页面上的多个其他多媒体播放器。为此,我想在页面底部有一个区域,其中包含一个媒体播放控制器(包括搜索栏),它将控制页面上的所有其他播放器。例如,当用户点击播放按钮时,页面上的所有其他播放器都开始播放。
我想使用常规的视频/音频播放器,但是除了播放真实内容,我想要的是拥有控件,尤其是前进的搜索栏。不自行实现播放控件的原因是,我想使用 video.js 插件的功能(如时间轴上的事件标记)。
我设法只显示 video.js 播放器和播放控件。另外,我设法设置了持续时间。问题是当我按下播放按钮或校准player.play()
时,播放器无法播放。
这是因为播放器没有媒体源。没有媒体源,video.js和本机播放器将无法播放。
现在,有没有办法迫使玩家即使没有消息来源也可以玩游戏?我可以认为它有一个吗?
谢谢
答案 0 :(得分:1)
这是图像的相同原理。如果某些内容没有图片,则需要制定备份计划:占位图片。
您可以对视频进行同样的操作。
最简单的解决方案是在您的项目目录中:
> placeholders
|-- fakeVideo_short.mp4
|-- fakeVideo-long.mp4
|-- fakeAudio.mp3
|-- ...
只要您的上层媒体控制器找到一个空播放器,您就可以向其提供占位符内容。
这是一个简单的解决方案,可让您更快地关注重要的需求:媒体控制器。
好:
答案 1 :(得分:0)
我想出了一个可行的解决方案。
再次目的是让video.js中的媒体控制器正常工作,而不加载任何媒体内容,而最重要的控制器是搜索栏。
我一直在玩 video.js ,并尝试在不加载任何媒体内容的情况下使搜索栏前进,并发现调用player.currentTime()
实际上会更新{{1} }内部成员,但不更新UI。
最终,我发现为了使 video.js 更新用户界面,我们需要触发curretTime
事件。
因此,我决定实现一个伪造的播放器,该播放器可以控制所有其他播放器,并使用 video.js 播放器作为其UI(通过仅显示媒体控件并隐藏视频)。 / p>
假冒玩家需要使用提到的精确计时器 here。
概念示例:
timeupdate
该解决方案使我可以在没有视频的主时间轴中使用video.js插件!