Я не понимаю, как установить текущее время для htmlvideoelement. Я хочу изменить текущее время видео, щелкнув индикатор выполнения. Пожалуйста, помогите мне, как это правильно установить. Могу знать готовые решения.
html
<video controls
width = "300"
height = "200"
(click) = "onClick()"
>
</video>typescript
import {AfterContentInit, Component, Input, OnInit} from '@angular/core';
@Component({
selector: 'app-player',
templateUrl: './player.component.html',
styleUrls: ['./player.component.css']
})
export class PlayerComponent implements AfterContentInit {
value = 100;
constructor() { }
videoElement: HTMLVideoElement;
ngAfterContentInit() {
this.videoElement = <HTMLVideoElement>document.getElementsByTagName('video')[0];
this.videoElement.src = 'http://localhost:8090/video/Pre_Int_02_90815.mp4';
this.videoElement.volume = this.value;
this.videoElement.currentTime = 10.0;
}
}Контроллер на Java-коде:
@RequestMapping(method = RequestMethod.GET, value = "/{video:.+}")
public StreamingResponseBody stream(@PathVariable String video)
throws FileNotFoundException {
File videoFile = videos.get(video);
final InputStream videoFileStream = new FileInputStream(videoFile);
return (os) -> {
readAndWrite(videoFileStream, os);
};
}



1) Использование getElementByTagName JavaScript
setCurrentTime(seconds) {
const video = document.getElementsByTagName('video')[0];
try {
video.currentTime = seconds;
} catch (e) {
console.info(e);
}
}
2) Использование ElementRef в Angular 6+
// your HTML should be
// <video #target class = "video-js" width = "100%" height = "100%" controls>
// <source [src] = "yourVideoUrl">
// </video>
import videojs from 'video.js';
export class Yourcomponent implements AfterViewInit {
@ViewChild('target') target: ElementRef;
player: videojs.Player;
ngAfterViewInit() {
// instantiate Video.js
if (this.videoURL) {
this.player = videojs(this.target.nativeElement, {
autoplay: true,
controlls: true
}, () => {
console.info('onPlayerReady', this);
});
}
}
setCurrentTime(seconds) {
try {
this.target.nativeElement.currentTime = seconds;
} catch (e) {
console.info(e);
}
}
}
3) Вы должны сделать событие из HTML-страницы нравиться
<button (click) = "setCurrentTime(4)"> // pass the time in seconds
change Time
</button>