Поделиться через


Добавление данных скрипта в заголовок

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Он был заменен средством чтения исходного кода и модуля записи приемника. Средство чтения исходного кода и модуль записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код по возможности использовал средство чтения исходного кода и модуль записи приемника вместо пакета SDK для Windows Media Format 11. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Команды скрипта можно включить в заголовок ASF-файла. Чтобы записать команды скрипта в заголовок во время кодирования, выполните следующие действия. Выполните следующие действия перед вызовом IWMWriter::BeginWriting.

  1. Получите указатель на интерфейс IWMHeaderInfo , вызвав IWMWriter::QueryInterface.
  2. Добавьте каждую нужную команду скрипта, вызвав IWMHeaderInfo::AddScript. Каждый вызов принимает две строки отдельно и время презентации, которое будет использоваться для команды в качестве параметров.

Когда приложение считывает файл, ему потребуется извлечь все команды скрипта. Чтобы найти все команды скрипта в заголовке файла, выполните следующие действия. Это необходимо сделать перед началом воспроизведения.

  1. Получите указатель на интерфейс IWMHeaderInfo объекта чтения (или синхронного объекта чтения), вызвав метод QueryInterface другого интерфейса в объекте .
  2. Получите общее количество скриптов в заголовке, вызвав IWMHeaderInfo::GetScriptCount.
  3. Циклически перебирайте все скрипты в заголовке по одному, используя вызовы IWMHeaderInfo::GetScript.
  4. Создайте список времени презентации, чтобы приложение яировало к командам в соответствующее время.

Примечание

При использовании DRM для шифрования файла никакие команды скрипта не могут иметь время презентации 0.

 

Интерфейс IWMHeaderInfo

Интерфейс IWMWriter

Использование команд скрипта