当用户单击视频区域本身时,我想以编程方式从 TypeScript 开始播放 HTML 视频。
这是我的 HTML 代码:
<div class="video">
<video controls (click)="toggleVideo()" id="videoPlayer">
<source src="{{videoSource}}" type="video/mp4" />
Browser not supported
</video>
</div>
这是我的打字稿代码:
@ViewChild('videoPlayer') videoplayer: any;
toggleVideo(event: any) {
this.videoplayer.play();
}
问题是我收到一条错误消息,提示 play()
函数未定义/存在。这里可能是什么错误?
原文由 SoundStage 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题是您试图使用其
id
获取对video
元素的引用。您需要改用 模板引用变量(#
):在此处 阅读有关模板引用变量的更多信息。
编辑:
此外,在您的
toggleVideo(event: any)
函数中,您需要获取nativeElement
然后调用play()
函数,因为您正在直接访问 DOM 元素:这要归功于@peeskillet。