Неверное "Текущее время" в ExpandedController для прямых трансляций
2 ответа
Пожалуйста, проверьте, выражается ли currentTime в приемнике (только для живого контента) как время эпохи Unix. Если это так, вам просто нужно преобразовать его в действительное значение. Попробуйте это на приемнике:
var now = new Date();
var timenow = new Date(now).getTime() / 1000;
var seektime = timenow - requestData.currentTime();
requestData.currentTime(requestData.duration() - seektime);
Я нашел следующий обходной путь на стороне получателя: я посылаю "0" как длительность, если значение слишком велико. Это не чисто, и счетчик прогрессирует на стороне отправителя, но если у кого-то есть лучшее представление, почему у получателя неправильное время в Живом потоке, милости просим!
playerManager.setMessageInterceptor(cast.framework.messages.MessageType.MEDIA_STATUS, initTextType);
function initTextType(requestData) {
// update stream current time if LIVE
if (requestData.currentTime > 18000) {
requestData.currentTime = 0;
console.log('~> adjust current time for LIVE streams');
}
}