javascript - 如何控制任何嵌入式视频?
问题描述
我抓取了一些视频,并用 iframe 显示它们。效果很好,但是,我现在正在寻找一种方法来控制我的反应应用程序上的这些视频。我所说的控制是例如:暂停、播放、视频中的当前时间……等等。
到目前为止,我已经尝试了几件事。
html5 标签,但它不起作用 mp4 视频链接,我有。
一些包,如 jplayer 或 player.js。
我很确定我可以实现我的目标,我想我只需要找到合适的工具。
编辑:这是我的 video.js 代码示例
<video
id="my-player"
class="video-js"
controls
preload="auto"
poster="//vjs.zencdn.net/v/oceans.png"
data-setup='{}'>
<source src="https://openload.co/embed/myvideo" type="video/mp4"></source>
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href="http://videojs.com/html5-video-support/" target="_blank">
supports HTML5 video
</a>
</p>
</video>
解决方案
看看 video.js。它将让您完全控制视频播放。看看他们的高级示例。此外,您不需要 iframe 来处理视频。如果这是一个设计决定,那很好,但您可以在没有 iframe 的情况下进行视频嵌入。
通过js控制视频播放器实例参考以下
JS
var myPlayer = videojs('example_video_1');
HTML
<video id="example_video_1" data-setup="{}" controls="">
<source src="my-source.mp4" type="video/mp4">
</video>
然后你可以像下面这样控制播放器实例
myPlayer.play();
myPlayer.pause();
myPlayer.currentTime(120);
请查看以下链接中的播放器 API
https://docs.videojs.com/docs/api/player.html
请查看以下链接中的 React 组件实现
推荐阅读
- python - 使用字典中的 networkx 设置节点属性时,“'numpy.int64' object”不是可迭代错误
- php - 如何解决laravel中获取异常id的问题
- discord.js - 如果用户拥有多个权限,我将如何缩短此 discord.js 代码以检查多个权限?
- python - 将 .cache() 添加到 (Py)Spark 数据帧会忽略 .limit() 并缓存完整的数据帧
- laravel - 在范围内使用模型的属性
- asp.net-mvc - 在 .Net Core 3.0 中找不到 System.Web.Mvc.UrlHelper.GenerateUrl
- python - 如何在我的代码中修复“IndexError:列表索引超出范围”?
- excel - 选择的自动调整列宽
- scala - Scala/Java:比较两个列表/集合并从两个列表中删除匹配的元素
- python - 如何检查变量是否具有相同的值并将其作为python中的一个值返回