我正在按角度进行项目,我的组件女巫应该播放js文件中的视频。
这是我的html
<video width="276" height="540" class="video-element" id="video-element" >
<source [src]="videoFile" type="video/mp4">
<source [src]="videoFile" type="video/ogg">
</video>
这是我的js文件
const playVideo = document.getElementsByClassName('video-element') as HTMLCollectionOf<HTMLElement>;
playVideo[0].classList.add('show'); // play video
playVideo[0].play(); // I get error
我得到一个错误:类型“ HTMLElement”上不存在属性“ play”。ts(2339)
当我尝试播放js文件中的视频时。
非常感谢您的帮助:)
答案 0 :(得分:0)
这是因为属性play
在普通HTMLElement
上不存在,但在HTMLMediaElement上确实存在。
(playVideo[0] as HTMLMediaElement).play(); // should not throw a compiler error
当然,如果playVideo[0]
实际上不是HTMLMediaElement
,这仍然会失败。
答案 1 :(得分:0)
首先请确保在您调用play时video元素已存在于DOM中。由于您使用的是角度,请使用viewChild而不是document。
如果您要在野生动物园中进行测试,请使用其他浏览器,并检查该行为在野生动物园中的变化。