Метод IAMTimelineObj::SetStartStop
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Примечание
[Не рекомендуется. Этот API может быть удален из будущих выпусков Windows.]
Метод SetStartStop
задает время начала и остановки объекта относительно родительского объекта.
Синтаксис
HRESULT SetStartStop(
REFERENCE_TIME Start,
REFERENCE_TIME Stop
);
Параметры
-
Запуск
-
Новое время начала в единицах 100 наносекунд или –1, чтобы сохранить существующее время начала.
-
Остановить
-
Новое время остановки в единицах 100 наносекунд или –1 для сохранения существующего времени остановки.
Возвращаемое значение
Возвращает одно из следующих значений HRESULT :
Код возврата | Описание |
---|---|
|
Успешно. |
|
Недопустимый аргумент. |
|
Не реализован. |
Комментарии
Треки, композиции и группы не реализуют этот метод. Для этих объектов время начала всегда равно нулю, а время остановки — максимальное время остановки содержащихся в них объектов.
Не устанавливайте время перекрытия для исходных объектов в пределах одной дорожки. Это может привести к неопределенному поведению.
Для исходных объектов время запуска и остановки не зависит от времени запуска и остановки мультимедиа. Изменение одной пары значений не изменяет другую. Чтобы задать время запуска и остановки мультимедиа, вызовите метод IAMTimelineSrc::SetMediaTimes . Дополнительные сведения см. в разделе Время в службах редактирования DirectShow.
Чтобы получить точные обрезы и переходы, задайте для параметров Start и Stop границы кадра. Вы можете использовать метод IAMTimelineObj::FixTimes для преобразования значения времени в ближайшую границу кадра или использовать следующую функцию для преобразования из номера кадра в ссылочное время:
REFERENCE_TIME inline FrameNumToTime(LONGLONG frame, double fps)
{
double dt = (frame * 10000000 / fps);
if (frame >= 0)
{
dt += 0.5; }
else
{
dt -= 0.5;
}
return (REFERENCE_TIME)dt;
}
Примечание
Файл заголовка Qedit.h несовместим с заголовками Direct3D более поздней версии 7.
Примечание
Чтобы получить Qedit.h, скачайте обновление Microsoft Windows SDK для Windows Vista и платформа .NET Framework 3.0. Qedit.h недоступен в Microsoft Windows SDK для Windows 7 и платформа .NET Framework 3.5 с пакетом обновления 1 (SP1).
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел