如何制作播放和暂停多个 aframe a-video 实体的脚本
How to make script that plays and pauses multiple aframe a-video entities
我想制作一个脚本,根据我是否点击它们来控制我的视频。我点击它们,它们开始播放,如果它们正在播放,我点击它们就会暂停。
我的示例与我在下面成功使用 运行 我的代码成功使用的堆栈溢出的其他答案不同的是,我想要多个视频,所有视频都通过单独点击来控制.我尝试使用视频和 class 'videos':
document.querySelector('a-video') // document.querySelector('.videos')
但它仍然不会播放。这是我的所有代码,在只有一个视频的情况下 运行 很棒:
<script>
AFRAME.registerComponent('videohandler',{
init: function(){
let el = this.el;
let vid = document.querySelector('#my_vid');
let playing = false;
vid.pause();
el.addEventListener('click',function(){
if(!playing) {
vid.play();
} else {
vid.pause();
}
playing = !playing;
});
}
});</script>
除此之外,我举个例子:
<a-plane material="shader: flat; src:#my_vid" raycastable videohandler></a-plane>
非常感谢您的帮助!
好吧,所以我设法弄明白了并发布了这个答案,所以也许下一个人可以找到自己的答案:
<script>
AFRAME.registerComponent('videohandler',{
schema: {
src: {type: 'string', default: ''}
},
init: function(){
let el = this.el;
let vid = document.querySelector(this.data.src);
let playing = false;
vid.pause();
el.addEventListener('click', function(){
if(!playing) {
vid.play();
} else {
vid.pause();
}
playing = !playing;
});
}
});</script>
在HTML中给运行,你在一个实体中调用它:
<a-entity id="videoPlayer" material="src: #my_vid" geometry="primitive: plane; height: 2; width: 3" videohandler="src: #my_vid"></a-entity>
干杯!
我想制作一个脚本,根据我是否点击它们来控制我的视频。我点击它们,它们开始播放,如果它们正在播放,我点击它们就会暂停。
我的示例与我在下面成功使用 运行 我的代码成功使用的堆栈溢出的其他答案不同的是,我想要多个视频,所有视频都通过单独点击来控制.我尝试使用视频和 class 'videos':
document.querySelector('a-video') // document.querySelector('.videos')
但它仍然不会播放。这是我的所有代码,在只有一个视频的情况下 运行 很棒:
<script>
AFRAME.registerComponent('videohandler',{
init: function(){
let el = this.el;
let vid = document.querySelector('#my_vid');
let playing = false;
vid.pause();
el.addEventListener('click',function(){
if(!playing) {
vid.play();
} else {
vid.pause();
}
playing = !playing;
});
}
});</script>
除此之外,我举个例子:
<a-plane material="shader: flat; src:#my_vid" raycastable videohandler></a-plane>
非常感谢您的帮助!
好吧,所以我设法弄明白了并发布了这个答案,所以也许下一个人可以找到自己的答案:
<script>
AFRAME.registerComponent('videohandler',{
schema: {
src: {type: 'string', default: ''}
},
init: function(){
let el = this.el;
let vid = document.querySelector(this.data.src);
let playing = false;
vid.pause();
el.addEventListener('click', function(){
if(!playing) {
vid.play();
} else {
vid.pause();
}
playing = !playing;
});
}
});</script>
在HTML中给运行,你在一个实体中调用它:
<a-entity id="videoPlayer" material="src: #my_vid" geometry="primitive: plane; height: 2; width: 3" videohandler="src: #my_vid"></a-entity>
干杯!