【发布时间】:2020-05-27 15:21:59
【问题描述】:
我正在使用 ion-slide 并且在幻灯片中,我添加了一个 HTML 视频元素,我想在幻灯片更改时获取活动 ion-slide 视频元素的 ID。
这里是我的 ts 代码:
@ViewChild(IonSlides, { static: false }) slides: IonSlides;
slideOpts = {
direction: 'vertical'
};
mainArray = [
{
id: 0,
thumbnailUrl: 'https://i.picsum.photos/id/803/200/300.jpg',
mp4: 'https://www.w3schools.com/html/mov_bbb.mp4',
ogg: 'https://www.w3schools.com/html/mov_bbb.ogg'
},
{
id: 1,
thumbnailUrl: 'https://i.picsum.photos/id/803/200/300.jpg',
mp4: 'https://www.w3schools.com/html/mov_bbb.mp4',
ogg: 'https://www.w3schools.com/html/mov_bbb.ogg'
},
{
id: 2,
thumbnailUrl: 'https://i.picsum.photos/id/803/200/300.jpg',
mp4: 'https://www.w3schools.com/html/mov_bbb.mp4',
ogg: 'https://www.w3schools.com/html/mov_bbb.ogg'
},
{
id: 3,
thumbnailUrl: 'https://i.picsum.photos/id/803/200/300.jpg',
mp4: 'https://www.w3schools.com/html/mov_bbb.mp4',
ogg: 'https://www.w3schools.com/html/mov_bbb.ogg'
}
];
playvideo() {
let videoPlayer1: HTMLVideoElement = <HTMLVideoElement>document.getElementById(this.mainArray[this.index].id)
videoPlayer1.pause();
videoPlayer1.currentTime = 0;
const playPromise = videoPlayer1.play();
if (playPromise !== null) {
playPromise.catch(() => {
videoPlayer1.play();
videoPlayer1.autoplay = true;
})
}
};
slideDidChange(ev: any) {
console.log('slideDidChange: ', ev);
};
slideWillChange(ev: any) {
console.log('slideWillChange: ', ev);
};
这是我的 HTML
<ion-slides #slides [options]="slideOpts" (ionSlideDidChange)="slideDidChange(slides)"
(ionSlideWillChange)="slideWillChange(slides)">
<ion-slide *ngFor="let videoUrl of mainArray">
<video [id]="videoUrl.id" poster='{{videoUrl.thumbnailUrl}}' preload="none" controls>
<source src="{{videoUrl.mp4}}" type="video/mp4" autostart="false">
<source src="{{videoUrl.ogg}}" type="video/ogg" autostart="false">
Your browser does not support HTML5 video.
</video>
</ion-slide>
</ion-slides>
在此示例中,我尝试通过 HTML 视频元素 ID 播放活动幻灯片的视频。请帮忙...
【问题讨论】:
-
您可以使
slide可点击并将所需信息传递到您的playvideo()我想这很容易。 -
是的,我们可以这样做,但我想在 html 视频元素 ID 中加载活动幻灯片
-
那么,您想要活动幻灯片的当前索引以及幻灯片何时更改?
-
不,我想获取视频元素 id
标签: javascript html angular typescript ionic-framework