vaadin - 在 Vaadin 14 应用程序中嵌入 video-js
问题描述
我正在尝试将 video-js 嵌入到我的 Vaadin 14 应用程序中。目前我只想让它工作,所以我正在对所有参数进行硬编码。我正在尝试将来自 video-js 的元素包装在 PolymerElement 中。我已经在几个地方导入了 video-js 模块,但我无法让它工作。相同的 html 代码在纯 html 文件中可以正常工作。组件出现并设置了“海报”,但视频未加载且控件未显示。
这是我的 PolymerElement...
import {html, PolymerElement} from '@polymer/polymer/polymer-element.js';
import videojs from 'video.js/dist/video.js';
class MyVideoJS extends PolymerElement {
static get template() {
return html
<script src="video.js/dist/video.js"></script>
<video
id="my-video"
class="video-js"
controls
fluid
preload="auto"
poster="https://www.epica.nl/1020_epi_omega_meta-2.jpg"
data-setup='{"liveui": true }'
autoplay="true"
>
<source src="https://dygu17rhyc0j1.cloudfront.net/out/v1/96e683c9e6b44a03835c3ea47635a4a7/index.m3u8?start=2021-11-08T16:22:00-00:00" type="application/x-mpegURL" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a
web browser that
<a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
;
}
handleClick() {
console.log('Button was clicked.');
window.alert('Hello');
var player = videojs('my-video');
}
}
window.customElements.define('my-video-js', MyVideoJS);
这是我的 Vaadin 组件..
@Tag("my-video-js")
@NpmPackage(value = "video.js", version = "^7.8.2")
@JsModule("video.js/dist/video.js")
@CssImport("video.js/dist/video-js.css")
@JsModule("./my-video-js/my-video-js.js")
public class MyVideoJS extends Component {
public MyVideoJS() { }
public void click() {
getElement().callJsFunction("handleClick");
}
}
我这样做对吗?
谢谢,
斯图尔特。
解决方案
推荐阅读
- android - HTTP 链接未在 Android 视频播放器中播放:Android Studio?
- c++ - 如何从 C++ 中属于该类的函数访问该类中的向量
- python - 仅在新程序启动后显示任务。基维
- javascript - 有没有办法为多个对象添加事件侦听器而不必全部写出来?
- function - 如何在 Haskell 中重用一个函数来有效地“循环”
- ios - 在启动期间出现错误 127 iOS 移动项目
- sql - SQL Server 中“group by”子句中的“Case”
- python-3.x - 如何在不每次运行 __init__ 的情况下访问单独的类中的游标变量?
- javascript - 价格的递增和递减值
- java - Java 11 升级:java.lang.NoClassDefFoundError: org/omg/CORBA/portable/IDLEntity