Работа с выборками носителей
В этой главе описываются функции, которые Ваше приложение может использовать для определения информации о демонстрационных данных фильма, таких как размер в байтах данных в фильме, дорожке, или носителях или числе выборок в носители или демонстрационное описание носителей.
Панель инструментов Фильма обеспечивает много функций, позволяющих приложениям определять информацию о демонстрационных данных фильма. В этом разделе рассматриваются эти функции. Посмотрите Добавляющие Выборки к Структурам Носителей для получения информации о функциях, позволяющих Вам получать демонстрационные данные от носители.
Ваше приложение может использовать GetMovieDataSizeMovie, GetTrackDataSizeMovie, и GetMediaDataSize функции для определения размера, в байтах, данных, хранивших в носители, фильм или дорожка.
Можно использовать GetMediaSampleDescriptionCount и GetMediaSampleDescription функции для получения демонстрационных описаний носителей. SetMediaSampleDescription функция позволяет Вам изменить содержание определенного демонстрационного описания, связанного с носители. GetMediaSampleCount функция определяет число выборок в носители. SampleNumToMediaTime и MediaTimeToSampleNum функции позволяют Вам преобразовывать от временной стоимости до демонстрационного числа и наоборот. Можно использовать функции, описанные в Нахождении, что Интересные Времена определяют местоположение определенных выборок в носители.
Добавление выборок к структурам носителей
В этом разделе описываются несколько функций, которые Ваше приложение может использовать для прямого управления выборками носителей. Обратите внимание на то, что GetMediaSampleReferences и AddMediaSampleReferences формы множественного числа, добавленные к GetMediaSampleReference и AddMediaSampleReference. Они позволяют Вам работать с многократными выборками сразу, который обычно более эффективен.
В этом разделе описываются функции Панели инструментов Фильма, непосредственно управляющие выборками носителей. Эти функции используются только приложениями, создающими фильмы или добавляющими данные к существующим фильмам.
Вы добавляете выборки к носители путем вызова AddMediaSample функция. Можно указать, что выборка, которая будет добавлена, не является синхронизирующей выборкой. Синхронизирующие выборки не полагаются на предыдущие кадры для содержания. Некоторые алгоритмы сжатия сохраняют пространство путем устранения дублирования между последовательными кадрами в выборке. В данных изображения синхронизирующие выборки упоминаются как ключевые кадры.
Можно получить данные в выборке носителей путем вызова GetMediaSample функция. Если Вы собираетесь добавить выборки к носители, необходимо сделать так в редактирующем носители сеансе. Вы запускаете редактирующий носители сеанс путем вызова BeginMediaEdits функция. Как только Вы закончили добавлять выборки к носителям, Вы заканчиваете сеанс редактирования путем вызова EndMediaEdits функция.
Как только Вы добавили выборки к носители, можно работать со ссылками на те выборки путем вызова AddMediaSampleReference и GetMediaSampleReference функции. Вы не должны быть в редактирующем носители сеансе для использования этих функций.
Нахождение интересных времен
Панель инструментов Фильма обеспечивает ряд функций, помогающих Вам определить местоположение выборок в фильмах, дорожках и структурах носителей. Эти функции основываются на понятии “интересных времен”. Интересное время относится к временной стоимости в фильме, дорожке или носителях, который удовлетворяет определенные критерии поиска. Вы указываете критерии поиска на Панель инструментов Фильма. Панель инструментов Фильма тогда сканирует фильм, дорожку или носители, и определяет местоположение временных стоимостей, удовлетворяющих те критерии поиска.
Можно использовать эти функции для поиска последовательностей изображений. Например, можно хотеть определить местоположение каждого кадра в последовательности изображений. При попытке оптимизировать производительность дисплея, или можно больше интересоваться ключевыми кадрами, особенно. В данных изображения синхронизирующие выборки упоминаются как ключевые кадры. Простой способ определить, был ли фильм отредактирован, состоит в том, чтобы искать редактирования дорожки в данных фильма. Можно также интересоваться поиском выборок в носителях фильма. При установке надлежащих критериев поиска Панель инструментов Фильма определяет местоположение надлежащих кадров для Вас. Вам нужны функции, описанные в этом разделе, потому что QuickTime не имеет фиксированной ставки. Каждый кадр может иметь свою собственную продолжительность.
Панель инструментов Фильма идентифицирует интересное время путем указания его времени начала и продолжительности. Время начала указывает время в фильме, дорожке или носителях, где удовлетворены критерии поиска. Продолжительность указывает отрезок времени, в течение которого остаются в силе критерии поиска. Например, при поиске выборок в носители время начала указало бы начало выборки, и продолжительность укажет отрезок времени к следующей выборке. В этом случае Вы могли найти следующую выборку носителей путем добавления продолжительности ко времени начала. Эти значения продолжительности всегда положительны; Вы решаете, что направление поиска путем установки знака уровня оценивает Вас, предоставляют к функциям.
Обратите внимание на то, что фильм интересные времена определяется в пределах фильма в целом. Когда другое интересное время запускается в любой дорожке в фильме, в результате одно интересное время заканчивается. Например, когда следующий ключевой кадр запускается, при поиске ключевых кадров в фильме значение продолжительности с одного интересного времени говорит Вам. Однако тот второй ключевой кадр может быть в различной дорожке в фильме. Поэтому продолжительность интересного времени не обязательно соответствует продолжительности ключевого кадра.
Можно использовать GetMovieNextInterestingTime функция для определения местоположения времен интереса к фильму. GetTrackNextInterestingTime функция позволяет Вам работать с дорожками. Используйте GetMediaNextInterestingTime функция для определения местоположения выборок в носители.
Работа с пользовательскими данными фильма
Каждый фильм, дорожка и носители могут содержать пользовательский список данных, который Ваше приложение может использовать всегда, Вы хотите. Пользовательский список данных содержит все пользовательские данные для фильма, дорожки или носителей. Каждый пользовательский список данных может содержать один или несколько пользовательских элементов данных.
Функции, которые Ваше приложение может использовать для работы с пользовательскими данными фильма, упоминаются ниже. Каждый фильм, дорожка и носители могут содержать пользовательский список данных, который может использоваться в любой цели, которую Вы любите.
GetMovieUserDataGetNextUserDataTypeCountUserDataTypeAddUserDataGetUserDataRemoveUserDataAddUserDataTextGetUserDataTextRemoveUserDataTextSetUserDataItemGetUserDataItemNewUserDataDisposeUserDataPutUserDataIntoHandleNewUserDataFromHandle
Каждый пользовательский элемент данных переносит идентификатор типа. Этот тип сохранен в длинном целом. Apple зарезервировал все строчные пользовательские значения типа данных. Вы свободны создать пользовательские ценности типа данных с помощью прописных букв. Apple рекомендует использовать значения типа, начинающиеся с символа авторского права.