Время и пространство фильма
В этой главе описываются функции панели инструментов фильма, которую Ваше приложение будет использовать для управления timebase и пространственными характеристиками фильмов, дорожек и носителей.
Работа с фильмом пространственные характеристики
Панель инструментов Фильма обеспечивает много функций, позволяющих Вашему приложению определять и изменять пространственные характеристики фильмов и дорожек. Перед использованием любого из них необходимо быть знакомы с путем, которым Панель инструментов Фильма выводит на экран фильмы. Вот некоторые подсказки для использования этих функций:
Можно использовать
SetMovieGWorldиGetMovieGWorldфункции для работы с графическим миром фильма.Ваше приложение может работать с матрицей фильма путем вызова
GetMovieMatrixиSetMovieMatrixфункции, и это может работать с матрицей дорожки сGetTrackMatrixиSetTrackMatrixфункции. Тогда можно выполнить операции на матрицах с функциями матрицы Панели инструментов Фильма, описанными в Матричных Функциях.Определенные функции влияют на выведенный на экран фильм и его дорожки в заключительной системе координат дисплея.
SetMovieGWorldиGetMovieGWorldфункции позволяют Вам работать с местом назначения дисплея фильма.GetMovieBoxиSetMovieBoxфункции позволяют Вам работать с граничным прямоугольником фильма и его связанными трансформациями. Также можно использоватьGetMovieMatrixиSetMovieMatrixфункции для работы непосредственно с матрицей преобразования фильма.GetMovieDisplayBoundsRgnв текущее время фильма функция определяет граничную область фильма. С другой стороны,GetMovieSegmentDisplayBoundsRgnфункция определяет граничную область фильма по сегменту требуемого времени. Можно использоватьGetMovieDisplayClipRgnиSetMovieDisplayClipRgnфункции для работы с областью отсечения дисплея фильма.GetTrackDisplayBoundsRgnиGetTrackSegmentDisplayBoundsRgnфункции определяют заключительную граничную область дорожки. Можно использоватьGetTrackLayerиSetTrackLayerфункции для управления порядком получения дорожек в фильме.Много функций влияют на границы дисплея фильма перед любыми трансформациями дисплея. Эти функции работают в системе координат дисплея фильма. Можно использовать
GetMovieClipRgnиSetMovieClipRgnфункции для работы с областью отсечения фильма; т.е. область отсечения, применяющаяся перед трансформацией дисплея фильма. ИспользуйтеGetMovieBoundsRgnфункция для определения граничной области фильма в текущее время фильма.Используйте
GetTrackMovieBoundsRgnфункционируйте для работы с граничной областью дорожки после того, как матричные преобразования поместят дорожку в систему отображения фильма.SetTrackMatrixиGetTrackMatrixфункции позволяют Вам определить матричные преобразования дорожки.Панель инструментов Фильма обеспечивает несколько функций, влияющих на границы дисплея дорожки; эти функции работают в системе координат дисплея дорожки, прежде чем будут применены любые другие трансформации дисплея.
GetTrackDimensionsиSetTrackDimensionsфункции позволяют Вам устанавливать систему координат дорожки и устанавливать исходный прямоугольник дорожки.Можно использовать
GetTrackBoundsRgnфункция для определения граничной области дорожки.GetTrackClipRgnиSetTrackClipRgnфункции позволяют Вам работать с областью отсечения дорожки. Можно использоватьGetTrackMatteиSetTrackMatteфункции для установления матового стекла дорожки.DisposeMatteфункция позволяет Вам избавляться от матового стекла, как только Вы закончены с нею.
Матричные функции
Панель инструментов Фильма обеспечивает много функций, позволяющих Вам работать с матрицами трансформации. В этом разделе описываются те функции. Для описаний фиксированной точки и структур фиксированного прямоугольника, посмотрите Структуры Фиксированной точки и Фиксированного Прямоугольника.
Структуры фиксированной точки и Фиксированного Прямоугольника
Функции матрицы Панели инструментов Фильма обеспечивают два механизма для указания точек и прямоугольников. Некоторые функции работают со стандартными точками QuickDraw и прямоугольниками, использующими целочисленные значения для идентификации координат. Другие, такой как TransformFixedRect функция, работайте с точками и прямоугольниками, координаты которых выражены как числа фиксированной точки. При помощи чисел фиксированной точки в этих точках и прямоугольниках, Панель инструментов Фильма может поддерживать большую степень точности при определении графических объектов.
FixedPoint тип данных определяет фиксированную точку. FixedRect тип данных определяет фиксированный прямоугольник. Обратите внимание на то, что обе из этих структур определяют координату x перед координатой y. Это отличается от стандартных структур QuickDraw.
struct FixedPoint |
{ |
Fixed x; /* point's x coordinate as fixed-point number */ |
Fixed y; /* point's y coordinate as fixed-point number */ |
}; |
typedef struct FixedPoint FixedPoint; |
Поле |
Описание |
|---|---|
|
Определяет координату x точки как число фиксированной точки. |
|
Определяет координату y точки как число фиксированной точки. |
struct FixedRect |
{ |
Fixed left; /* x coordinate of upper-left corner */ |
Fixed top; /* y coordinate of upper-left corner */ |
Fixed right; /* x coordinate of lower-right corner */ |
Fixed bottom; /* y coordinate of lower-right corner */ |
}; |
typedef struct FixedRect FixedRect; |
Поле |
Описание |
|---|---|
|
Определяет x координату верхнего левого угла прямоугольника как число фиксированной точки. |
|
Определяет y координату верхнего левого угла прямоугольника как число фиксированной точки. |
|
Определяет x координату нижнего правого угла прямоугольника как число фиксированной точки. |
|
Определяет y координату нижнего правого угла прямоугольника как число фиксированной точки. |
Создание матового стекла дорожки
Перечисление 1-1 обеспечивает пример того, как создать матовое стекло дорожки. CreateTrackMatte функция добавляет неинициализированное, 8 битов глубиной, полутоновое матовое стекло к дорожке. UpdateTrackMatte функция рисует серый прямоугольник ската вокруг края матового стекла и заполняет центр матового стекла с черным цветом. (Прямоугольник ската постепенно заштриховывает от света до темноты в гладких инкрементах.)
Перечисление 1-1 , Создающее матовое стекло дорожки
void CreateTrackMatte (Track theTrack) |
{ |
QDErr err; |
GWorldPtr aGW; |
Rect trackBox; |
Fixed trackHeight; |
Fixed trackWidth; |
CTabHandle grayCTab; |
GetTrackDimensions (theTrack, &trackWidth, &trackHeight); |
SetRect (&trackBox, 0, 0, FixRound (trackWidth), |
FixRound (trackHeight)); |
grayCTab = GetCTable(40); /* 8 bit + 32 = 8 bit gray */ |
err = NewGWorld (&aGW, 8, &trackBox, grayCTab, |
(GDHandle) nil, 0); |
DisposeCTable (grayCTab); |
if (!err && (aGW != nil)) |
{ |
SetTrackMatte (theTrack, aGW->portPixMap); |
DisposeGWorld (aGW); |
} |
} |
void UpdateTrackMatte (Track theTrack) |
{ |
OSErr err; |
PixMapHandle trackMatte; |
PixMapHandle savePortPix; |
Movie theMovie; |
GWorldPtr tempGW; |
CGrafPtr savePort; |
GDHandle saveGDevice; |
Rect matteBox; |
short i; |
theMovie = GetTrackMovie (theTrack); |
trackMatte = GetTrackMatte (theTrack); |
if (trackMatte == nil) |
{ |
/* track doesn't have a matte, so give it one */ |
CreateTrackMatte (theTrack); |
trackMatte = GetTrackMatte (theTrack); |
if (trackMatte == nil) |
return; |
} |
GetGWorld (&savePort, &saveGDevice); |
matteBox = (**trackMatte).bounds; |
err = NewGWorld(&tempGW, |
(**trackMatte).pixelSize, &matteBox, |
(**trackMatte).pmTable, (GDHandle) nil, 0); |
if (err || (tempGW == nil)) return; |
SetGWorld (tempGW, nil); |
savePortPix = tempGW->portPixMap; |
LockPixels (trackMatte); |
SetPortPix (trackMatte); |
/* draw a gray ramp rectangle around the edge of the matte */ |
for (i = 0; i < 35; i++) |
{ |
RGBColor aColor; |
long tempLong; |
tempLong = 65536 - ((65536 / 35) * (long)i); |
aColor.red = aColor.green = aColor.blue = tempLong; |
RGBForeColor(&aColor); |
FrameRect (&matteBox); |
InsetRect (&matteBox, 1, 1); |
} |
/* fill the center of the matte with black */ |
ForeColor (blackColor); |
PaintRect (&matteBox); |
SetPortPix (savePortPix); |
SetGWorld (savePort, saveGDevice); |
DisposeGWorld (tempGW); |
UnlockPixels (trackMatte); |
SetTrackMatte (theTrack, trackMatte); |
DisposeMatte (trackMatte); |
} |
Работа со временем фильма
Каждый фильм в формате QuickTime имеет свою собственную основу времени. Основа времени фильма позволяет все дорожки, составляющие фильм, который будет синхронизироваться, когда проигрывается фильм. Панель инструментов Фильма обеспечивает много функций, позволяющих Вашему приложению определять и устанавливать параметры времени фильма:
Можно использовать
GetMovieTimeBaseфункция для получения времени базируется для фильма.Можно работать с текущим временем фильма путем вызова
GetMovieTime,SetMovieTime, иSetMovieTimeValueфункции.Можно работать с масштабом времени фильма путем вызова
GetMovieTimeScaleиSetMovieTimeScaleфункции.Панель инструментов Фильма может вычислить общую продолжительность фильма. Можно использовать
GetMovieDurationфункция для получения продолжительности фильма.Ваше приложение может вызвать
GetMovieRateиSetMovieRateработать со скоростью воспроизведения фильма.
Следующие разделы обсуждают те функции. Более поздние разделы в этой главе обсуждают функции Панели инструментов Фильма, позволяющие Вам работать с параметрами времени структур носителей и дорожек. Для получения информации о большем количестве функций, работающих со временем, посмотрите Функции Основы Времени.
Во время фильма
На наиболее базовом уровне Панель инструментов Фильма позволяет, Вы для обработки времени базировали данные. Также, Панель инструментов Фильма должна предоставить описание основания времени тех данных, а также определение контекста для оценки того основания времени. В QuickTime основа времени фильма упоминается как его основа времени. Геометрически, можно думать об основе времени как о векторе, определяющем направление и скорость времени для фильма. Контекст какое-то время базируется, вызывается его системой координат времени. По существу система координат времени определяет ось, на которой графически изображен вектор основы времени. Самый маленький единый блок времени, отмеченного на той оси, определяется к этому времени масштаб как модули в абсолютную секунду.
Системы координат времени
Система координат времени фильма обеспечивает контекст для оценки течения времени в фильме. При размышлении о системе координат времени как об определении оси для измерения времени только естественно, что эта ось была бы отмечена с масштабом, определяющим основную единицу измерения. В QuickTime ту систему измерения вызывают масштабом времени.
Масштаб времени QuickTime определяет число единиц измерения времени, передающих каждую секунду в данной системе координат времени. Система координат времени, имеющая масштаб времени 1 раза мер в секундах. Точно так же система координат времени, имеющая масштаб времени 60 мер sixtieths секунды. В целом каждая единица измерения времени в системе координат времени равна (1/масштаб времени) секунды. Некоторые общие масштабы времени перечислены в Таблице 1-1.
Масштаб времени |
Абсолютное время измерилось |
|---|---|
1 |
Секунды |
60 |
Sixtieths секунды (галочки Macintosh) |
1000 |
Миллисекунды |
22254.54 |
Звучите выбранными в 22 кГц |
Рисунок 1-1 показывает продолжительность двух секунд в абсолютное время и эквивалентные продолжительности в общих масштабах времени, перечисленных в Таблице 1-1.

Определенный момент времени в системе координат времени представлен с помощью временной стоимости. Временная стоимость выражена с точки зрения масштаба времени ее системы координат времени. Без масштаба подходящего времени временная стоимость бессмысленна. Например, в системе координат времени с масштабом времени 60, временная стоимость 180 переводит в 3 секунды. Поскольку все системы координат времени скрепляют к абсолютному времени (т.е. время, поскольку мы измеряем его в секундах), Панель инструментов Фильма может перевести временные стоимости из одной системы координат времени в другого.
Системы координат времени имеют конечную максимальную продолжительность, определяющую максимальную временную стоимость какое-то время система координат (минимальная временная стоимость всегда 0). Обратите внимание на то, что, поскольку фильм в формате QuickTime редактируется, изменения продолжительности.
Как значение увеличений масштаба времени (поскольку единица измерения времени для системы координат становится меньшей с точки зрения абсолютного времени), максимальное абсолютное время, которое может быть представлено в системе координат времени уменьшения. Например, если бы временная стоимость была представлена как 16-разрядное целое число без знака, то его максимальное значение было бы 65,535. В системе координат времени с масштабом времени 1, максимальная временная стоимость представляла бы 65 535 секунд. Однако в системе координат времени с масштабом времени 5, максимальная временная стоимость соответствовала бы 13 107 секундам. Следовательно, время продолжительность системы координат ограничивается ее масштабом времени. QuickTime использует 32-разрядные и 64-разрядные количества для представления временных стоимостей, таким образом, только необходимо волноваться о достижении максимального абсолютного времени в ситуациях, где время, продолжительность системы координат очень длинна или ее масштаб времени, является очень большим.
Основы времени
Основа времени фильма определяет свое значение текущего времени и уровень, на котором время передает для фильма. Уровень указывает скорость и направление в который путешествия во времени в фильме. Отрицательные значения уровня заставляют Вас перемещаться назад через данные фильма; продвигаются положительные значения. Основа времени также содержит ссылку на часы, обеспечивающие синхронизацию для основы времени. Часы QuickTime реализованы как компоненты, которыми управляет Менеджер компонентов.
Основы времени существуют независимо от любой определенной системы координат времени. Однако временные стоимости, извлеченные из основы времени, бессмысленны без масштаба времени. Поэтому каждый раз, когда Вы получаете временную стоимость из основы времени, необходимо указать масштаб времени результата временной стоимости. Панель инструментов Фильма переводит время временная стоимость основы в значение, которое разумно в масштабе требуемого времени.
Рисунок 1-2 представляет систему координат времени и основу времени геометрически. Система координат времени представлена координатной осью. В этом примере система координат времени имеет масштаб времени 2; т.е. в каждую секунду существует две единицы измерения времени. Продолжительность этой системы координат времени составляет 2 секунды, который эквивалентен 4 единицам измерения времени. Основа времени объекта изображена крупной стрелкой под осью, представляющей систему координат времени. На сей раз основа имеет значение текущего времени 3 и уровень 1. Время начала является временной стоимостью, выраженной в модулях системы координат времени.

Работа со временем дорожки
Панель инструментов Фильма обеспечивает несколько функций, позволяющих Вашему приложению определять и устанавливать параметры времени дорожки. Дорожка использует основу времени фильма, содержащего дорожку; поэтому нет никаких функций, работающих с основой времени дорожки или масштабом времени. Однако можно определить продолжительность дорожки и ее смещение от запуска фильма.
Все дорожки в фильме используют систему координат времени фильма. Т.е. масштаб времени фильма определяет основную единицу измерения времени для каждой из дорожек фильма. Каждая дорожка начинается в начале фильма, но данные дорожки не могли бы начаться до некоторой временной стоимости кроме 0. Это прошедшее время представлено пробелом. В аудиотреке пробел переводит в тишину; в видеотреке пробел не генерирует визуального изображения. Этот пробел является смещением дорожки. Каждая дорожка имеет свою собственную продолжительность. Эта продолжительность не должна соответствовать продолжительности фильма. Продолжительность фильма всегда равняется максимальной продолжительности дорожки. Эти функции помогают Вам работать со временем дорожки:
Можно использовать
GetTrackDurationфункция для определения продолжительности дорожки.SetTrackOffsetиGetTrackOffsetфункции позволяют Вам работать со смещением дорожки от запуска фильма, содержащего его.TrackTimeToMediaTimeфункция позволяет Вам перевести время дорожки в соответствующую временную стоимость носители в дорожке.
Работа со временем носителей
Панель инструментов Фильма обеспечивает функции, позволяющие Ваше рвение с параметрами времени носители:
Можно использовать
GetMediaDurationфункция для определения продолжительности носителей.GetMediaTimeScaleиSetMediaTimeScaleпозвольте Вам определить или установить масштаб времени носителей.
Функции основы времени
Панель инструментов Фильма обеспечивает много функций, позволяющих Вам работать с основами времени. Основа времени QuickTime определяет систему координат времени фильма. Однако можно также использовать основы времени QuickTime для предоставления общих услуг синхронизации. В этом разделе описываются функции, позволяющие Ваше рвение с основами времени.
Этот раздел был разделен на следующие темы:
Создание и Избавление от Основ Времени описывают, как создать и избавиться от основ времени и как присвоить основу времени фильму
Работа Со Значениями Основы Времени обсуждает функции, позволяющие Ваше рвение с содержанием основы времени
Временные структуры описывают много функций, позволяющих, Вы для преобразования времен между временем базируетесь и выполнять простую арифметику на временных стоимостях
Функции обратного вызова Основы времени описывают функции, которые Ваше приложение может использовать для создания условий основы времени для вызова функций, которые обеспечивает приложение
Создание и избавление от основ времени
Следующие функции Панели инструментов Фильма помогают Вашему приложению создать и избавиться от основ времени:
NewTimeBaseфункция позволяет Вам заложить новую основу времени. Можно использоватьDisposeTimeBaseфункция для избавления от времени базируется, как только Вы закончены с нею.Основы времени полагаются или на компонент часов или на другую основу времени для их источника времени. Можно использовать
SetTimeBaseMasterTimeBaseфункционируйте, чтобы заставить одну основу времени основываться на другой основе времени.GetTimeBaseMasterTimeBaseпозволяет Вам определять основную основу времени данной основы времени.Можно присвоить компонент часов основе времени; те часы тогда действуют как основной тактовый генератор для основы времени. Можно использовать
SetTimeBaseMasterClockфункция для присвоения компонента часов основе времени.GetTimeBaseMasterClockфункция позволяет Вам определить компонент часов, присваивающийся основе времени. Можно изменить смещение между основой времени и ее источником времени путем вызоваSetTimeBaseZeroфункция.Можно установить источник времени фильма путем вызова
SetMovieMasterTimeBaseиSetMovieMasterClockфункции.
Работа со значениями основы времени
Каждый раз базируется, содержит уровень, время начала, время остановки, текущее время и некоторая информация о статусе. Панель инструментов Фильма обеспечивает много функций, позволяющих Ваше рвение с содержанием основы времени. Можно использовать эти функции:
GetTimeBaseTimeфункция позволяет Вам получить значение текущего времени основы времени. Можно установить значение текущего времени путем вызоваSetTimeBaseTimeфункция; эта функция требует, чтобы Вы обеспечили временную структуру. Также можно установить текущее время на основе временной стоимости путем вызоваSetTimeBaseValueфункция.Можно установить курс основы времени путем вызова
GetTimeBaseRateфункция. Можно установить уровень основы времени путем вызоваSetTimeBaseRateфункция. Можно установить действующий курс основы требуемого времени (относительно основной основы времени, которой это подчинено) путем вызоваGetTimeBaseEffectiveRateфункция.Можно получить время начала основы времени путем вызова
GetTimeBaseStartTimeфункция. Можно установить время начала основы времени путем вызоваSetTimeBaseStartTimeфункция. Точно так же можно использоватьGetTimeBaseStopTimeиSetTimeBaseStopTimeфункции для работы со временем остановки основы времени.
Панель инструментов Фильма также обеспечивает функции, позволяющие Вам работать с информацией о статусе основы времени:
GetTimeBaseStatusфункция позволяет Вам читать текущий статус основы времени.GetTimeBaseFlagsфункция помогает Вам получить флаги управления основы времени. Можно установить эти флаги путем вызоваSetTimeBaseFlagsфункция.
Временные структуры
Панель инструментов Фильма обеспечивает много функций, позволяющих Вам работать с временными структурами:
Можно использовать
ConvertTimeфункционируйте для преобразования времени, которое Вы получаете из одной основы времени во время, которое является относительно другой основы времени. Точно так же можно использоватьConvertTimeScaleфункционируйте для преобразования времени от одного масштаба времени до другого.Можно добавить два раза путем вызова
AddTimeфункция; можно вычесть два раза сSubtractTimeфункция.
Все эти функции работают с временными структурами. Можно использовать временные структуры для представления или временных стоимостей или продолжительностей. Временные стоимости указывают момент времени относительно данной основы времени. Продолжительности указывают промежуток времени относительно данного масштаба времени. Продолжительности представлены временными структурами, имеющими набор основы времени к 0 (т.е. base поле во временной структуре установлено в nil).
Структура TimeRecord
Много функций управления временем требуют, чтобы Вы поместили спецификацию времени в структуру данных, названную a TimeRecord.
struct TimeRecord |
{ |
CompTimeValue value; /* time value (duration or absolute) */ |
TimeScale scale; /* units per second */ |
TimeBase base; /* reference to the time base */ |
}; |
typedef struct TimeRecord TimeRecord; |
Поле |
Описание |
|---|---|
|
Содержит временную стоимость. Временная стоимость определяет или продолжительность или абсолютное время путем указания соответствующего числа единиц времени. На время это - число единиц измерения времени в период. В течение абсолютного времени это - число единиц измерения времени с начала системы координат времени. Модуль для этого значения определяется полем масштаба. Временная стоимость выражена как a |
|
Содержит масштаб времени. Это поле указывает число единиц времени та передача каждую секунду. При указании значения 0 основа времени использует свой естественный масштаб времени. |
|
Содержит ссылку на основу времени. Вы получаете основу времени путем вызова Панели инструментов Фильма |
Большие временные стоимости
Можно указать временную стоимость во временной структуре как 64-разрядное целочисленное значение следующим образом:
typedef Int64 CompTimeValue; |
Панель инструментов Фильма использует этот формат так, чтобы могли быть представлены чрезвычайно большие временные стоимости. Int64 тип данных определяет формат этих 64-разрядных целых чисел со знаком.
struct Int64 |
{ |
long hi; /* high-order 32 bits-value field in time structure */ |
long lo; /* low-order 32 bits-value field in time structure */ |
}; |
typedef struct Int64 Int64; |
Поле |
Описание |
|---|---|
|
Содержит старший разряд 32 бита значения. Старший бит представляет знак 64-разрядного целого числа. |
|
Содержит младший разряд 32 бита значения. |
Функции обратного вызова основы времени
Если Ваше приложение использует основы времени QuickTime, оно может определить функции обратного вызова, связанные с определенной основой времени. Ваше приложение может тогда использовать эти функции обратного вызова для выполнения действий, инициированных временными событиями, такими как определенное достигаемое время или указанный достигнутый уровень. Функции основы времени Панели инструментов Фильма взаимодействуют с компонентами часов для планирования вызова этих функций обратного вызова; компоненты часов ответственны за вызов функции обратного вызова в ее запланированное время. Ваше приложение может использовать функции, описанные в этом разделе, чтобы установить Вашу собственную функцию обратного вызова и запланировать события обратного вызова.
Можно определить три типа событий обратного вызова. Эти типы отличает природа временного события, инициировавшего Панель инструментов Фильма для вызывания функции. Три типа
события, инициированные в требуемое время
события, инициированные, когда уровень достигает указанного значения
события, инициированные, когда временная стоимость времени базируют изменения суммой, отличающейся со времени уровень основы.
Используйте эти функции для работы с обратными вызовами основы времени:
Вы указываете тип события обратного вызова при определении события обратного вызова, с помощью
NewCallBackфункция.Вы указываете, может ли Ваше событие иметь место во время прерывания при определении события обратного вызова, с помощью
NewCallBackфункция. Ваша функция вызвана ближе к инициирующему событию во время прерывания, но это подвергается всем ограничениям функций обработки прерываний (например, Ваша функция обратного вызова не может заставить память быть перемещенной). Если Ваша функция не вызвана во время прерывания, Вы свободны от этих ограничений; но Ваша функция может быть вызвана позже, потому что вызов задерживается для предотвращения времени прерывания.NewCallBackфункция выделяет память для поддержки события обратного вызова. Когда Вы сделаны с событием обратного вызова, Вы избавляетесь от него путем вызоваDisposeCallBackфункция.Вы планируете событие обратного вызова путем вызова
CallMeWhenфункция. ВызватьCancelCallBackфункционируйте, чтобы не запланировать событие обратного вызова.Можно получить основу времени события обратного вызова путем вызова
GetCallBackTimeBaseфункция.Можно получить тип события обратного вызова путем вызова
GetCallBackTypeфункция.
Сводка функции времени и пространства
Вот сводка функций Панели инструментов Фильма, которые можно использовать для управления временем фильма и пространственными характеристиками.
Управление пространством фильма
Панель инструментов Фильма содержит много функций, которые Ваше приложение может использовать, чтобы определить или изменить пространственные характеристики дисплея фильмов и дорожек. Эти функции влияют на графический мир фильма, его матрицу, заключительную систему координат дисплея и границы дисплея. Они включают
SetTrackGWorldSetMovieGWorldGetMovieGWorldSetMovieBoxGetMovieBoxGetMovieDisplayBoundsRgnGetMovieSegmentDisplayBoundsRgnSetMovieDisplayClipRgnGetMovieDisplayClipRgnGetTrackSegmentDisplayBoundsRgnSetMovieMatrixGetMovieMatrixGetMovieBoundsRgnGetTrackMovieBoundsRgnGetMovieClipRgnGetTrackBoundsRgnSetTrackClipRgnGetTrackClipRgnSetTrackMatteGetTrackMatteDisposeMatteSetMovieColorTableGetMovieColorTable
Работа с матрицами
Несколько функций Панели инструментов Фильма позволяют Вам управлять матрицами трансформации.
Управление временем фильма
Несколько функций используются для работы с параметрами времени фильма. Включенный функции для получения основы времени, работы с текущим временем фильма, работы с масштабом времени, вычисления продолжительности фильма, и получения и установки скорости воспроизведения.
GetMovieDurationSetMovieTimeValueSetMovieTimeGetMovieTimeSetMovieRateGetMovieRateSetMovieTimeScaleGetMovieTimeScaleGetMovieTimeBase
Управление временем дорожки
Несколько функций работают с параметрами времени дорожки. Все дорожки совместно используют основу времени фильма, но каждая дорожка содержит свое собственное смещение и продолжительность. Функция также предоставлена для перевода времени дорожки в значение, надлежащее носителям дорожки.
Управление временем носителей
Три функции работают со временем носителей параметры. У каждого носители есть его собственный масштаб времени и продолжительность.
Нахождение интересных времен
Можно вызвать функции Панели инструментов Фильма для поиска фильма, дорожки или носителей для определенной выборки, таких как ключевой кадр. Функции возвращают время и продолжительность следующей выборки, удовлетворяющей критерии поиска.
GetMovieNextInterestingTimeGetTrackNextInterestingTimeGetMediaNextInterestingTime
Управление основой времени
Различная Панель инструментов Фильма функционирует работа с основами времени. Основа времени QuickTime определяет систему координат времени для фильма. Это может также использоваться для предоставления общих услуг синхронизации.
Создание и избавление от основ времени
NewTimeBaseDisposeTimeBaseSetMovieMasterClockSetMovieMasterTimeBaseSetTimeBaseMasterClockGetTimeBaseMasterClockSetTimeBaseMasterTimeBaseGetTimeBaseMasterTimeBaseSetTimeBaseZero
Работа со значениями основы времени
SetTimeBaseTimeSetTimeBaseValueSetTimeBaseRateGetTimeBaseRateGetTimeBaseEffectiveRateSetTimeBaseStartTimeGetTimeBaseStartTimeSetTimeBaseStopTimeGetTimeBaseStopTimeSetTimeBaseFlagsGetTimeBaseFlagsGetTimeBaseStatus
-
AddTimeSubtractTimeConvertTimeConvertTimeScale
Функции обратного вызова основы времени
NewCallBackCallMeWhenCancelCallBackDisposeCallBackGetCallBackTimeBaseGetCallBackType
Большинство этих функций обсуждено в предыдущих разделах этой главы.