diff --git a/Kyoo/ClientApp/src/app/player/player.component.html b/Kyoo/ClientApp/src/app/player/player.component.html index 71f00802..d3657398 100644 --- a/Kyoo/ClientApp/src/app/player/player.component.html +++ b/Kyoo/ClientApp/src/app/player/player.component.html @@ -3,6 +3,8 @@ @@ -91,7 +93,7 @@
- diff --git a/Kyoo/ClientApp/src/app/player/player.component.ts b/Kyoo/ClientApp/src/app/player/player.component.ts index 943ff377..8049be03 100644 --- a/Kyoo/ClientApp/src/app/player/player.component.ts +++ b/Kyoo/ClientApp/src/app/player/player.component.ts @@ -343,7 +343,7 @@ export class PlayerComponent implements OnInit fullscreen() { if (document.fullscreenElement == null) - document.getElementById("root").requestFullscreen(); + document.body.requestFullscreen(); else document.exitFullscreen(); } @@ -400,16 +400,42 @@ export class PlayerComponent implements OnInit { this.snackBar.open("Subtitle removed.", null, { verticalPosition: "top", horizontalPosition: "right", duration: 750, panelClass: "info-panel" }); SubtitleManager.remove(this.player); + this.removeHtmlTrack(); } else { this.snackBar.open(subtitle.displayName + " subtitle loaded.", null, { verticalPosition: "top", horizontalPosition: "right", duration: 750, panelClass: "info-panel" }); + this.removeHtmlTrack(); if (subtitle.codec == "ass") SubtitleManager.add(this.player, subtitle.link, true); + + else if (subtitle.codec == "subrip") + { + SubtitleManager.remove(this.player); + + let track = document.createElement("track"); + track.kind = "subtitles"; + track.label = subtitle.displayName; + track.srclang = subtitle.language; + track.src = subtitle.link.replace(".srt", ".vtt"); + track.default = true; + track.onload = () => + { + this.player.textTracks[0].mode = "showing"; + }; + this.player.appendChild(track); + } } } + removeHtmlTrack() + { + let elements = this.player.getElementsByTagName("track"); + if (elements.length > 0) + elements.item(0).remove(); + } + getThumb(url: string) { return this.sanitizer.bypassSecurityTrustStyle("url(" + url + ")"); diff --git a/Kyoo/Controllers/SubtitleController.cs b/Kyoo/Controllers/SubtitleController.cs index cb20049d..2c3eeaaa 100644 --- a/Kyoo/Controllers/SubtitleController.cs +++ b/Kyoo/Controllers/SubtitleController.cs @@ -90,7 +90,7 @@ namespace Kyoo.Controllers public class ConvertSubripToVtt : IActionResult { - private string path; + private readonly string path; private string lastLine = ""; public ConvertSubripToVtt(string subtitlePath) @@ -133,7 +133,7 @@ namespace Kyoo.Controllers line = null; if (lastLine == null) //The line is a timecode only if the last line is an index line and we already set it to null. - line = line.Replace(',', '.'); //This is never called. + line = line.Replace(',', '.'); return line; }