Следующий интерфейс называется 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().