Сохранение фильмов

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

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

Функции файла ролика

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

Следующие функции используются при сохранении фильма к файлу.

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

Можно использовать NewMovie функция для создания нового пустого фильма. Если Ваше приложение загружает фильм из существующего файла, используйте любого NewMovieFromFile функционируйте или NewMovieFromDataFork функция. NewMovieFromFile функционируйте работы с числом ссылки на файл, которое Вы получаете из OpenMovieFile функция. NewMovieFromDataFork функционируйте работы с фильмами, сохраненными в ветви данных Вашего файла документа. Ваше приложение может тогда использовать функции, описанные в Сохранении Фильмов, чтобы загрузить и сохранить фильмы.

Можно использовать ConvertFileToMovieFile функция, чтобы указать входной файл и преобразовать его в файл ролика. ConvertMovieToFile берет указанный фильм (или одноколейный путь в том фильме) и преобразовывает его в выходной файл.

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

Ресурсы фильма, которые Ваше приложение создает с AddMovieResource и UpdateMovieResource функции могут содержать ссылки на данные фильма. Эти ссылки идентифицируют данные, составляющие фильм. Однако данные фильма могут храниться за пределами файла ролика. Если Вы хотите создать файл ролика, содержащий все его данные фильма, используйте FlattenMovie или FlattenMovieData функция. Эти функции могут также использоваться, чтобы хранить данные фильма в ветви данных файла ролика или чередовать данные носителей для оптимизации производительности.

PutMovieIntoHandle функционируйте помещает фильм в формате QuickTime в дескриптор. Можно тогда преобразовать фильм в специализированные форматы данных.

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

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

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

Как только Вы закончены, работая с фильмом, необходимо высвободить средства, используемые фильмом путем вызова DisposeMovie функция.

Файлы ролика

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

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

Если Вы работаете с существующим фильмом, необходимо считать тот фильм из файла ролика или выбрать фильм из фрагмента. Вы сначала открываете файл ролика путем вызова OpenMovieFile функция. Вы тогда загружаете фильм из того файла путем вызова NewMovieFromFile функция. Также можно использовать NewMovieFromHandle функция. Если Вы хотите сохранить свои изменения, после редактирования фильма необходимо сохранить его в файле. Если Вы хотите заменить старый фильм, используйте UpdateMovieResource функция. Если Вы хотите сохранить старый фильм, создайте новый фильм путем вызова AddMovieResource функция. Файл ролика может содержать больше чем один ресурс фильма. Необходимо тогда закрыть файл ролика путем вызова CloseMovieFile функция.

Панель инструментов Фильма поддерживает a changed флаг для каждого фильма Ваши загрузки приложения. Когда сохранить фильм, можно использовать этот флаг для определения. Панель инструментов Фильма устанавливает этот флаг в true каждый раз, когда Вы вносите изменение в фильм, который должен быть сохранен. Можно считать этот флаг путем вызова HasMovieChanged функция. Можно установить флаг в false путем вызова ClearMovieChanged функция.

Панель инструментов Фильма обеспечивает две функции для удаления фильмов: DeleteMovieFile и RemoveMovieResource. Использовать DeleteMovieFile удалить файл ролика. Использовать RemoveMovieResource удалить фильм из файла ролика. Не используйте соответствующие стандартные подпрограммы Панели инструментов Macintosh (FSpDelete и RmveResourceMovie Панель инструментов). Панель инструментов Фильма поддерживает ссылки фильма между файлами правильно, тогда как эти подпрограммы не делают.

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

Панель инструментов Фильма также размещает операционные системы, не распознающие файлы, содержащие больше чем одно ветвление. Можно создать файл ролика, содержащий фильм и все его данные в ветви данных файла ролика. Можно тогда использовать тот файл в операционных системах, не распознающих ветви ресурсов. Можно использовать FlattenMovie или FlattenMovieData функции для помещения фильма в ветвь данных одновременно это создает автономный файл ролика. Это было бы обычным подходом при создании фильма на компьютере Macintosh, который Вы хотите сохранить на веб-сервере Unix. Можно также создать файл ролика единственного ветвления путем вызова CreateMovieFile функция с флагом createMovieFileDontCreateResFileMovie Панель инструментов. Это было бы обычным подходом при создании фильмов с помощью QuickTime для Windows.

Ваше приложение может позволить пользователю решать, как сохранить фильм. В этом случае можно использовать диалоговое окно Save As, подобное один показанный на рисунке 2-1. В этом диалоговом окне пользователь может выбрать создавать файл ролика, содержащий все данные для фильма путем щелчка по переключателю «Make movie self-contained».

Рисунок 2-1  демонстрационный фильм диалоговое окно Save As