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


Метод IMediaSeeking::GetPositions (strmif.h)

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

Метод GetPositions извлекает текущую позицию и позицию остановки относительно общей длительности потока.

Синтаксис

HRESULT GetPositions(
  [out] LONGLONG *pCurrent,
  [out] LONGLONG *pStop
);

Параметры

[out] pCurrent

Указатель на переменную, которая получает текущую позицию в единицах формата текущего времени.

[out] pStop

Указатель на переменную, которая получает позицию остановки в единицах текущего формата времени.

Возвращаемое значение

Возвращает значение HRESULT . Ниже приведены возможные значения.

Код возврата Описание
S_OK
Успешно.
E_NOTIMPL
Метод не поддерживается.
E_POINTER
Аргумент указателя NULL.

Комментарии

Текущая позиция и позиция остановки относятся к исходному потоку и не зависят от скорости воспроизведения.

Возвращаемые значения выражаются в формате текущего времени. Формат времени по умолчанию — REFERENCE_TIME единиц (100 наносекунд). Чтобы изменить форматы времени, используйте метод IMediaSeeking::SetTimeFormat .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

См. также раздел

Коды ошибок и успешного выполнения

Интерфейс IMediaSeeking