Я создаю видеопроигрыватель в среде, где stream.bytesTotal недоступен. Мне нужно использовать метаданные продолжительности, закодированные в FLV-файлах, для экстраполяции для таких вещей, как ход воспроизведения и отображение времени.видео метаданные - продолжительность не всегда доступна
Проблема заключается в том, что при загрузке FLV метаданные, включая продолжительность, не могут быть доступны 2 раза из трех раз. Вот функция, которая перебирает объекта метаданных: -
общественная функция onMetaDataHandler (metadataObj: Object): пустота {
for (var metadata:Object in metadataObj) {
if (metadata == "duration") {
_duration = metadataObj[metadata];
Debug.log('metadata _duration == ' + _duration);
playBackTimeText();
}
if (metadata == "width") {
video.width = metadataObj[metadata];
}
if (metadata == "height") {
video.height = metadataObj[metadata];
}
Debug.log(metadata + ": " + metadataObj[metadata], 0xffff00);
}
}
Является ли это лучший способ сделать это, или есть способ перезагрузить метаданные без перезагрузки flv?
Вы можете подсчитать количество вызовов функций во время потоковой передачи одного потока FLV? – Eugene
Идея состоит в том, чтобы делать ваши функции в последнем вызове. – Eugene