Можно ли динамически установить currentTime видео без вызова onSeeked?

тот парень

Я пытаюсь использовать JavaScript для изменения свойства currentTime элемента видео. Назначение свойств довольно простое и работает. Я также прислушиваюсь к поиску изменений по видео. Моя проблема в том, что всякий раз, когда свойство currentTime назначается программно, вызываются как onseeking, так и onseeked методы. Причина, по которой я прислушиваюсь к поискам, состоит в том, чтобы фиксировать ТОЛЬКО события поиска, созданные пользователем, а не код. Код, аналогичный тому, что я пробовал до сих пор, выглядит следующим образом:

var video = document.getElementById('vidi'); 

var isUser = false;

video.onseeking = function(){
 console.log("Seeking");
isUser = true;
};


video.onseeked = function() {
if(isUser){
    console.log("foo foo foo");
    isUser = false;
    }
};

video.currentTime = 600;

Можно ли фиксировать только поисковые запросы, созданные пользователями?

Kmoser

Если вы тщательно измените и измените video.onseekingи video.onseekedв нужное время, вы можете отличить поиск / поиск пользователя от поиска / поиска, созданного программным способом (что я смоделировал с помощью do_non_user_seek()функции ниже).

Общая идея заключается в том, что при выполнении непользовательского поиска сначала задается video.seekedуказание на функцию, non_user_seeked()которая вызывается автоматически по завершении непользовательского поиска, после чего она устанавливает video.onseekingи video.onseekedвозвращает исходные значения user_seeking()и user_seeked()значения.

Теперь у вас есть несколько функций, которые вызываются в зависимости от того, был ли поиск инициирован пользователем, и могут соответственно различать их. См. В console.log()результатах сведения о том, когда вызывается.

<script>

var video = document.getElementById('vidi'); 
video.onseeking = user_seeking;
video.onseeked = user_seeked;

function do_non_user_seek() {
  console.log( 'do_non_user_seek()' )
  video.onseeking = non_user_seeking;
  video.onseeked = non_user_seeked;
  video.currentTime = 600;
}

function user_seeking() {
  console.log( "user seeking")
}

function user_seeked() {
  console.log( "user seeked")
}

function non_user_seeking() {
  console.log( "non-user seeking")
}

function non_user_seeked() {
  video.onseeking = user_seeking;
  video.onseeked = user_seeked;
  console.log( "non-user seeked")
}

</script>
<video width="400" controls id="vidi">
  <source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
  Your browser does not support HTML5 video.
</video>

<button onclick="do_non_user_seek()">Seek (non-user)</button>

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Видео отстает при использовании currentTime

Проблемы с currentTime при использовании относительного пути

Где определяется `CurrentTime`? Как мне это получить?

Создание программы просмотра звуковых шагов / ударов с аудио currentTime миллисекундами JQuery

HTML аудио не может установить currentTime

Доступ к currentTime для цели SyntheticEvent

Преобразование <audio> currentTime в отображение точного времени

Можно ли установить currentTime звука в миллисекундах вместо секунд? -Javascript

Как получить currentTime внутри события timeupdate (применить и привязать)

Получатели Vuex в реальном времени обновляют состояние audio.currentTime

JavaScript: изменить цвет текста в зависимости от video.currentTime

В веб-аудио, почему contextTime отстает от currentTime более чем на baseLatency?

Установить videoElement.currentTime в видеоплеере Hulu не работает, и проигрыватель ломается

javascript <audio>: не могу обновить currentTime

AudioContext.currentTime + переменное время

установка audio.currentTIme; с буфером песен, отправленным с экспресс-сервера

HTML 5 видеоплеер обновляет currentTime с заданным номером

Множественные ошибки при использовании video.currentTime

Синхронизировать слайдер с CurrentTime Video Dash Plotly

Изменение currentTime с помощью React Component State

JPA устанавливает временную метку, созданную базой данных, но не CURRENTTIME или UPDATETIME

Testcafe ClientFunction для установки свойства видео currentTime

Logic App - CurrentTime - как выбрать только время (чч: мм: сс)

Ошибка типа: свойство currentTime не существует для типа EventTarget и HTMLInputElement

BOOL дает другой результат в инструкции if при обновлении: (CFTimeInterval) метод currentTime

song.currentTime возвращает значение undefined

Вычислить процент между startTime, currentTime и endTime - python

JS currentTime для тега HTML-видео не работает на Chrome

Я могу получить audio.currentTime, но не могу установить его (в Google Chrome)

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл