August 14th, 2014

Как повторять фрагмент в Windows media player

У меня на компьютере установлена операционная система «Windows 7 Профессиональная» (Service Pack 1), а в ней, соответственно, проигрыватель Windows Media (он же «Windows Media Player», он же сокращенно «WMP») версии 12.

Панель управления воспроизведением в WMP очень простая:


Здесь есть кнопка включения режима проигрывания, при котором проигрыватель после окончания записи снова автоматически переходит на начало и так далее (кнопка с круговой стрелкой, вторая слева).

Но иногда нужно таким же образом проиграть в цикле только часть записи. Из панели управления воспроизведением или контекстного меню я это не смог сделать (наверное, это и не предусмотрено). Однако, WMP умеет это делать, этого можно легко добиться с помощью метафайлов Windows Media.

Метафайлы WMP — это текстовые файлы в формате XML. С их помощью строятся списки воспроизведения (плейлисты), а возможности этих файлов довольно богаты. На сайте Microsoft для разработчиков есть целое руководство:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd564665(v=vs.85).aspx

Справочник тэгов метафайла WMP:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd564668(v=vs.85).aspx

Создаем текстовый файл, можно в «Блокноте», пишем простой скрипт, меняем расширение файла на .wvx (еще могут быть .wax и .asx) и запускаем полученный метафайл:


Данный метафайл откроет WMP и запустит на воспроизведение файл «My video.wmv», начиная с 17 минуты 23 секунды. Проигрывание будет продолжаться 1 минуту 44 секунды, после чего опять начнется с 17 минуты 23 секунды. Этот цикл будет продолжаться бесконечно, пока пользователь сам не остановит проигрывание. В принципе, у тэга Repeat (метафайл не чувствителен к регистру букв) есть реквизит Count, в котором можно указать, сколько раз конкретно проиграть фрагмент файла. Если этот реквизит отсутствует (как в нашем случае), фрагмент проигрывается бесконечно.