Программирование стратегических игр с DirectX 9.0

         

Позиционирование аудиовизуального потока


Следующий интерфейс называется IMediaSeeking. Как следует из его названия, он предназначен для установки позиции в аудиовизуальном потоке. Кроме того, он позволяет задать темп воспроизведения аудиовизуального потока. В рассматриваемом примере программы я использую этот интерфейс чтобы осуществить перемотку аудиовизуального потока к его началу, когда воспроизведение музыки заканчивается. Так же я использую его для задания темпа воспроизведения. Методы данного интерфейса перечислены в таблице 7.9.

Таблица 7.8. Методы интерфейса IMediaSeeking

Метод Описание
CheckCapabilities Проверяет, обладает ли поток указанными возможностями.
ConvertTimeFormat Преобразует из одного формата в другой.
GetAvailable Возвращает доступный диапазон значений времени для позиционирования.
GetCapabilities Возвращает возможности аудиовизуального потока.
GetCurrentPosition Возвращает текущую позицию в потоке.
GetDuration Возвращает длину потока.
GetPositions Возвращает текущую и конечную позиции.
GetPreroll Возвращает размер аудиовизуального потока, расположенного перед начальной позицией.
GetRate Возвращает темп воспроизведения.
GetStopPosition Возвращает конечную позицию. Она сообщает вам, когда воспроизведение потока будет завершено.
GetTimeFormat Возвращает используемый в данный момент формат времени.
IsFormatSupported Проверяет поддерживается ли указанный формат времени.
IsUsingTimeFormat Проверяет используется ли в данный момент указанный формат времени.
QueryPreferredFormat Возвращает предпочтительный формат времени.
SetPositions Устанавливает текущую и завершающую позиции.
SetRate Устанавливает темп воспроизведения.
SetTimeFormat Устанавливает формат времени.

В описываемой программе я использую функции SetRate() и SetPositions().



Содержание раздела