Проблема: заголовки проигрывателя JW 608 отформатированы неправильно. Чтобы решить эту проблему, отключите отображение заголовка JW и отформатируйте наше собственное окно с именем "ccbuffer"
<style type="text/css">
.jw-captions {
display: none !important;
}
#ccbuffer {
border: 2px solid white !important;
border-radius: 4px;
background-color: black !important;
display: flex;
height: 120px;
margin-top: 6px;
font: 22px bold arial, sans-serif;
color: white;
justify-content: center;
align-items: center;
}
</style>
Здесь я показываю проигрыватель, а ccbuffer - это div под ним
<div id="myPlayer">
<p style="color: #FFFFFF; font-weight: bold; font-size: x-large; border-style: solid; border-color: #E2AA4F">
Loading video...
</p>
</div>
<div id="ccbuffer" />
DOMSubtreeModified устарела. Используйте MutationObserver, который менее стрессовый для клиента. Давайте подключим событие 'captionsChanged' из JW. если трек равен 0, тогда заголовки не выбраны, и мы отключаем наблюдателя. Если заголовки выбраны, то мы используем jquery, чтобы вытащить текст из элемента jw-text-track-cue и отформатировать его в красивый трехстрочный дисплей в нашем окне ccbuffer.
<script>
var observer;
jwplayer().on('captionsChanged', function (event) {
if (event.track == 0) {
observer.disconnect();
$('#ccbuffer').hide('slow');
}
else {
$('#ccbuffer').show('slow');
// select the target node
var target = document.querySelector('.jw-captions');
// create an observer instance
observer = new MutationObserver(function(mutations) {
$('.jw-text-track-cue').each(function(i) {
if (i == 0)
$('#ccbuffer').html( $(this).text() );
else
$('#ccbuffer').append("<br/>" + $(this).text() );
});
});
// configuration of the observer:
var config = { attributes: true, childList: true, characterData: true }
// pass in the target node, as well as the observer options
observer.observe(target, config);
}
});
$(document).ready(function () {
$('#ccbuffer').hide();
});
</script>
Так что когдапользователь включает подписи, окно ccbuffer откроется и отобразит чистое трехстрочное представление текста CC.