Создание дорожек и структур носителей

Эта книга описывает функции, которые Ваше приложение может использовать, чтобы создать и избавиться от дорожек и структур носителей. Эти функции используются при создании фильмов или при редактировании фильмов на уровне дорожки.

Панель инструментов Фильма обеспечивает несколько функций, позволяющих Вашему приложению создавать новые дорожки фильма и структуры носителей и избавляться от существующих дорожек и структур носителей. Когда Вы редактируете существующий фильм, Вы используете эти функции при создании нового фильма или.

Можно использовать NewMovieTrack функция для создания новой дорожки для указанного фильма. С другой стороны можно использовать DisposeMovieTrack функция для избавления от существующей дорожки.

Ваше приложение может создать новые носители для дорожки путем вызова NewTrackMedia функция. Можно использовать DisposeTrackMedia функция для избавления от существующих носителей.

Работа со ссылками дорожки

Ссылки дорожки позволяют Вам связывать дорожки с друг другом. Например, это может помочь Вам идентифицировать текстовую дорожку, содержащую подзаголовки для аудиотрека фильма, и свяжите ту текстовую дорожку с определенным аудиотреком.

О ссылках дорожки

Несмотря на то, что QuickTime всегда позволял создание фильмов, содержащих больше чем одну дорожку, это не было в состоянии указать отношения между теми дорожками. Ссылки дорожки являются новой функцией QuickTime, которые позволяют Вам связывать дорожки фильма с друг другом. Механизм ссылки дорожки QuickTime поддерживает many-many отношения. Т.е. любая дорожка фильма может содержать одну или более ссылок дорожки, и любая дорожка может быть связана с одной или более другими дорожками в фильме.

Ссылки дорожки могут быть полезными во множестве путей. Например, ссылки дорожки могут использоваться для связи дорожек временного кода с другими дорожками фильма. (См. Обработчик Носителей Временного кода для получения дополнительной информации о дорожках временного кода.) Вы могли бы рассмотреть использование ссылок дорожки для идентификации отношений между видеотреками и звуковыми дорожками: идентификация дорожки, содержащей диалоговое окно и дорожку, содержащую звуковые сопровождения, например. Другое использование ссылок дорожки должно связать одну или более текстовых дорожек, содержащих подзаголовки с надлежащим аудиотреком или дорожками.

Ссылки дорожки также используются для создания списков главы, как описано ниже.

Каждая дорожка фильма содержит список своих ссылок дорожки. Каждая ссылка дорожки идентифицирует другого, связанную дорожку. Та связанная дорожка идентифицируется ее идентификатором дорожки. Сама ссылка дорожки содержит информацию, позволяющую Вам классифицировать ссылки типом. Эта информация типа хранится в OSType тип данных. Вы свободны указать любое значение типа, которое Вы хотите. Отметьте, однако, что Apple зарезервировал все строчные значения типа.

Можно создать столько ссылок дорожки, сколько Вы хотите, и можно создать больше чем одну ссылку данного типа. Каждая ссылка дорожки данного типа присваивается индексное значение. Индексные значения запускаются в 1 для каждого различного ссылочного типа. Панель инструментов поддерживает эти индексные значения так, чтобы они всегда запустили в 1 и количество 1.

Ссылочные функции дорожки

В этом разделе описываются функции, управляющие ссылками дорожки. Ссылки дорожки определяют отношения между дорожками. Например, дорожка временного кода может быть связана с несколькими другими дорожками, или текстовая дорожка может содержать подзаголовки для определенного аудиотрека.

AddTrackReference функция позволяет Вам связывать одну дорожку с другим. DeleteTrackReference функция удаляет то отношение. SetTrackReference и GetTrackReference функции позволяют Вам изменять существующую ссылку дорожки так, чтобы она идентифицировала различную дорожку. GetNextTrackReferenceType и GetTrackReferenceCount функции позволяют Вам сканировать все ссылки дорожки дорожки.

Обработчик носителей временного кода

Дорожки временного кода позволяют Вам хранить внешнюю информацию временного кода, такую как временные коды SMPTE, в Ваших фильмах в формате QuickTime. QuickTime теперь обеспечивает новый обработчик носителей временного кода, интерпретирующий данные в этих дорожках.

Списки главы

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

Контроллер фильма автоматически распознает список главы и создаст раскрывающийся список из него. Когда пользователь сделает выбор от раскрывающегося, контроллер перейдет к надлежащей точке в фильме.

Для создания списка главы необходимо создать текстовую дорожку с одной выборкой для каждой главы. Время дисплея для каждой выборки соответствует точке в фильме, отмечающем начало той главы. Необходимо также создать ссылку дорожки типа 'chap' от включенной дорожки фильма к текстовой дорожке. Это 'chap' отследите ссылку, превращающую текстовую дорожку в список главы. Дорожка, содержащая ссылку, может иметь любой тип (аудио, видео, mpeg, и т.д.), но это должно быть позволено для списка главы быть распознанным.

Учитывая включенную дорожку myVideoTrack, использовать AddTrackReference создать ссылку главы:

    AddTrackReference( myVideoTrack, theTextTrack,
        kTrackReferenceChapterList, &addedIndex );

kTrackReferenceChapterList определяется в Movies.h. Это имеет значение 'chap'.

Текстовая дорожка, составляющая список главы, не должна быть включена, и обычно не. Если это будет включено, то текстовая дорожка будет выведена на экран как часть фильма, точно так же, как любая другая текстовая дорожка, в дополнение к функционированию как список главы.

Если больше чем одна включенная дорожка включает a 'chap' отследите ссылку, QuickTime будет использовать первый список главы, который это находит.

Работа со ссылками на данные

В этом разделе описываются функции, используемые для работы со ссылками на данные. Структуры носителей указывают на их фактические демонстрационные данные с помощью ссылок на данные. Для звуковых и видео носителей ссылки на данные идентифицируют файлы, содержащие данные. Обработчики носителей также используют ссылки на данные для управления данными носителей.

Структуры носителей идентифицируют, как и где найти их демонстрационные данные посредством ссылок на данные. Для звуковых и видео носителей ссылки на данные идентифицируют файлы, содержащие данные носителей; данные носителей хранятся в ветвях данных этих файлов. Обработчики носителей используют эти ссылки на данные для управления данными носителей. Сингл носители может содержать одну или более ссылок на данные.

Каждая ссылка на данные содержит информацию о типе, идентифицирующую, как указана ссылка. Большинство ссылок на данные QuickTime использует информацию о псевдониме для определения местоположения соответствующих файлов. Значение типа для ссылок на данные, использующих псевдонимы, 'alis'.

Панель инструментов Фильма идентифицирует ссылки на данные носителей с индексным значением. Индексные значения всегда колеблются от 1 до числа ссылок в носителях. Индексы ссылки на данные обеспечивают удобный способ получить доступ к каждой ссылке в носители.

Панель инструментов Фильма обеспечивает ряд функций, позволяющих Вам работать со ссылками на данные. В этом разделе описываются те функции.

Можно использовать GetMediaDataRef функция для получения информации о ссылке на данные носителей. Можно добавить ссылку на данные к носители путем вызова AddMediaDataRef функция. SetMediaRef функция позволяет Вам измениться, которые регистрируют указанных партнеров носителей ее хранения данных.

Ваше приложение может определить число ссылок на данные в носители путем вызова GetMediaDataRefCount функция.

Альтернативные дорожки

QuickTime содержит функции, которые Ваше приложение может использовать для работы с альтернативными дорожками. Альтернативные дорожки используются для создания единственного фильма, который может, например, воспроизвести с различными аудиотреками языка в разных странах, или с различным качественным аудио или видео на различных модельных компьютерах.

Для получения дополнительной информации об альтернативных дорожках, посмотрите Руководство по Внутренностям фильма в формате QuickTime.

Редактирование дорожек

Панель инструментов Фильма обеспечивает много функций, позволяющих Вашему приложению выполнять операции редактирования на дорожках. Эти функции работают с сегментами дорожки (части дорожки, определяющиеся временем начала и продолжительностью), и поэтому дайте Вам большой контроль процессом редактирования. Эти функции подобны низкоуровневым функциям редактирования для фильмов, описанных ранее в этой главе. Однако эти функции могут скопировать данные фильма, при необходимости работой.

При редактировании дорожки, можно изменить продолжительность фильма, содержащего ту дорожку.

CopyTrackSettings функция позволяет Вам скопировать определенные важные настройки от одной дорожки до другого.

Можно использовать InsertTrackSegment функционируйте, чтобы скопировать сегмент от одной дорожки до другого ссылкой или движущимися данными, или скопировать сегмент в дорожке. InsertTrackEmptySegment функция позволяет Вам вставлять пустой сегмент в дорожку.

Можно использовать InsertMediaIntoTrack функционируйте для вставки носителей в дорожку.

Ваше приложение может удалить сегмент из дорожки путем вызова DeleteTrackSegment функция.

Можно изменить продолжительность сегмента путем вызова ScaleTrackSegment функция. Эта функция расширяет или уменьшает сегмент для размещения указанной продолжительности.

Можно использовать GetTrackEditRate функция для устанавливания курса редактирования дорожки указанной дорожки в указанное время.