По причинам, которые я не могу понять, вероятно из-за моих ограниченных знаний о внутренних элементах этих элементов управления, элемент управления MediaElement занимает линейно увеличивающееся количество времени для загрузки, когда количество пропускаемого времени увеличивается при загрузке видео с URL-адреса.
Например, если вы пропустите 30 секунд на видео, то загрузка займет короткую секунду. Однако пропуск видео на 30 минут вперед может занять до 30-40 секунд для загрузки. Событие изменения состояния воспроизведения никогда не запускается, и элемент управления останавливается, игнорируя любые преобразования.
- Эта проблема не возникает, когда буферизация достигла этой точки в видео
- Эта проблема возникает при использовании элементов управления транспортом по умолчанию, а также при ручной настройке значения положения (вероятно, из-за того, что элементы управления транспортом делают именно это внутри)
- Эта проблема возникает со всеми типами файлов со всеми типами известных мне методов кодирования (H264, H265, VP9, MP4V).
Я не проверял, сохраняется ли эта проблема с местными видео. Однако я сомневаюсь, что это была бы уместная информация.
viewer.Position = new TimeSpan(0, 0, viewer.Position.Seconds + 600);
// Delay occurs after a reasonable skip (in this situation 10 minutes)
Я был бы очень признателен за помощь в поиске решения, позволяющего обойти эту проблему.