Я использую Angular 6 в моем проекте.Общий тег видео для использования воспроизведения видео.Мой видеофайл сначала сохраняется на сервере в формате .mp4.Когда он воспроизводится, поток файлов возвращается из веб-API.Мой исходный код похож на ниже.
Я пытаюсь воспроизвести видео после загрузки.после поиска установите текущее время как время поиска.но всегда он воспроизводит позицию так же, как я начал искать позицию или время начала видео.
--- HTML
<div class="container-fluid">
<div class="row">
<div id="video-container" style="width: 1515px; background-color: rgb(44, 44, 44); ">
<video id="mp-video-player" layout="column" layout-align="center end" controls>
<source [src]="mpSRC" type="video/mp4">
</video>
</div>
</div>
</div>
---- Typescrypt
this.mpVideoPlayer = document.getElementById('mp-video-player');
if(this.mpVideoPlayer !== undefined && this.mpVideoPlayer != null) {
(<HTMLObjectElement>this.mpVideoPlayer).data = '';
}
this.mpVideoPlayer.style.display = "block";
this.mpSRC = API.BASE_URL + API.Files.Stream + videoLoader.FileID;
this.mpVideoPlayer.load();
this.mpVideoPlayer.onloadeddata = (event) => {
this.mpVideoPlayer.play();
};
});
---- Исходный код Web API
[HttpGet("Stream/{fileId}")]
public IActionResult StreamFile(int fileId)
{
try
{
var file = _fileService.Get(fileId, "Ext").Result;
var filePath = GetFilePath(fileId);
var stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
return new FileStreamResult(stream, file.Ext.StreamType);
}
catch (Exception ex)
{
_logger.Log(LogLevel.Trace, ex.Message);
return NoContent();
}
}