
Jak zakódovat automatické spuštění titulků včetně překladu do odkazu na YT video?
Potřeboval bych přidat na stránky YT video, ale ideálně tak, aby se u něj spustily i automaticky překládané CZ titulky. Video není mé, takže do něj zasahovat nemohu, mohu akorát nějak modifikovat odkaz, aby se spustily automaticky překládané titulky, pokud je to vůbec možné.
Konečně jsem se dostal k pokusům s automatickým spuštěním titulků, ale zatím jsem skončil na parametru cc_load_policy=1, který spustí titulky jenom v případě, že jsem je zapnul v nějakém předcházejícím videu. Pokud je na nějakém jiném videu vypnu, tak tak ani parametr cc_load_policy=1 je nespustí. Nepochopil jsem, k čemu pak vůbec je.
Edit: Asi to má nějakou souvislost s cookies, jelikož když odkaz https://youtu.be/lqSSqVLjvUg?cc_load_policy=1 otevřu v anonymním okně a odmítnu cookies, tak se titulky zobrazí.
https://www.youtube.com/watch?v=xd24_NnzKy4
Asi by mohlo fungovat tohle: http://jsfiddle.net/setalosas/mezopfhL/, ale kam přidat ten skript do Fastcentriku?
<iframe id="existing-iframe"
width="640" height="360"
src="https://www.youtube.com/embed/q2C0EO0zzAY?enablejsapi=1&cc_load_policy=1"
frameborder="0"
style="border: solid 4px #37474F"
></iframe>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
let player
const onApiChange = _ => {
if (typeof player.setOption === 'function') {
player.setOption('captions', 'track', {languageCode: 'en'}) // undocumented call
}
}
function onYouTubeIframeAPIReady() {
player = new YT.Player('existing-iframe', {events: {onApiChange}})
}
</script>