From c3fbe0164c12398abc41552b6daf3d7d63093f0a Mon Sep 17 00:00:00 2001 From: Andry Yosua Date: Tue, 12 Sep 2023 06:55:57 +0700 Subject: [PATCH] allow set subtitle language from url parameter As user, I want to set subtitles language from url parameters, So i do not need to subtitle language each time i switch instances for now you can set `subtitles=xx` (example: `subtitles=en`) on url parameter to set video subtitle language. full url example: https://piped.video/watch?v=6stlCkUDG_s&subtitles=en i choose query `subtitles` so it's compatible with [invidious url parameter](https://docs.invidious.io/url-parameters/) this is especially useful when you have addons like redirector improvement over https://github.com/TeamPiped/Piped/issues/2669 and https://github.com/TeamPiped/Piped/issues/223 --- src/components/VideoPlayer.vue | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/components/VideoPlayer.vue b/src/components/VideoPlayer.vue index f988c905..19a37844 100644 --- a/src/components/VideoPlayer.vue +++ b/src/components/VideoPlayer.vue @@ -594,6 +594,14 @@ export default { const autoDisplayCaptions = this.getPreferenceBoolean("autoDisplayCaptions", false); this.$player.setTextTrackVisibility(autoDisplayCaptions); + + const prefSubtitles = this.getPreferenceString("subtitles", null); + const textTracks = this.$player.getTextTracks(); + const subtitleIdx = textTracks.findIndex(textTrack => textTrack.language == prefSubtitles); + if (subtitleIdx >= 0) { + this.$player.setTextTrackVisibility(true); + this.$player.selectTextTrack(textTracks[subtitleIdx]); + } }) .catch(e => { console.error(e);