В прошлом я писал подобное приложение, используя Flash-видео. Я знаю, что вы сказали, что используете .wmv, но я поделюсь тем, что мы сделали, так как это может дать вам некоторые идеи.
По сути, мы создали собственный видеоплеер, использующий Adobe Flex для воспроизведения видео. Видеопроигрыватель был настроен для проверки связи с веб-службой всякий раз, когда воспроизведение проходило определенный этап. В нашем случае мы взяли общее время воспроизведения и поделили его на 10, и после того, как воспроизведение прошло каждый из этих 10% фрагментов, называемых веб-службой (PHP), и отправило вместе процент просмотра и фактическое время в видео. Так, например, 2-минутное видео сначала отправит вызов с 10% и 12 секундами, второй вызов будет 20% и 24 секундами и т. Д. Таким образом, мы могли бы отслеживать прогресс пользователя, а также предотвращать его переходя к концу видео и вызывая его, мы можем сказать, что они не прошли остальные 9 этапов, потому что не было служебного вызова.
Опять же, это было использование Flash-видео, но если у вашего видеопроигрывателя есть какой-то способ подключиться к событиям или API, с помощью которого вы можете определить текущую позицию видео, тогда вы сможете выполнить нечто подобное. Это не идеально, но этого было достаточно для наших нужд.