2013-03-04 2 views
7

Мне нужны контрольные точки для видеопроигрывателя HTML5. Я нашел Cuepoint.js, за исключением того, что это касается таких вещей, как титры. Мне нужно что-то другое, кроме текста, чтобы изменить, когда нажата метка.Cuepoints в теге видео HTML5

Я как бы сделал свою собственную логику точки отсчета, но я чувствую, что она не так эффективна, как могла бы быть. Сейчас я имею дело с небольшим количеством раз, что не имеет большого значения. Я боюсь, когда я попаду в сотни, это может вызвать некоторые проблемы с производительностью.

Это то, что я придумал, и это довольно точно:

function timeUpdate(event) 
{ 
    var times = [3,8,13,19,25]; 
    currentTime = player.currentTime(); 
    $.each(times,function(key, value) 
    { 
     if (currentTime >= times[key] && currentTime <= times[key] + 0.3) 
     { 
      currentIndex++; 
      loadAssets(currentIndex); 
     } 
    }); 
} 

times массив является лишь примером. Есть ли более эффективный способ сделать это или это в значительной степени это?

ответ

1

Ронни, Вам не нужно перебрать этот массив. Если элементы в порядке, просто установите флажок напротив первого, а затем currentIndex на один.

function timeUpdate(event) 
{ 
    var times = [3,8,13,19,25]; 
    currentTime = player.currentTime(); 

    if (currentTime >= times[currentIndex]) 
    { 
     currentIndex++; 
     loadAssets(currentIndex); 
    } 
} 
+1

Что такое функция поиска? – Toniq

+0

Правильно, пока пользователь не перемотает видео. Это будет работать, только если элементы управления отключены. –

Смежные вопросы