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
This commit is contained in:
Andry Yosua 2023-09-12 06:55:57 +07:00
parent 5047aa9bcc
commit c3fbe0164c

View file

@ -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);