Создавание простого приложения медиапроигрывателя QTKit

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

Создайте проект Используя Xcode 3.2

Создать проект:

  1. Xcode 3.2 запуска и выбирает File> New Project.

  2. Когда новое окно проекта появится, выберите OS X> Application> Cocoa Application.

    В панели Options проверка Создает основанное на документе приложение, затем нажимает Choose.

    Это создает Основанное на какао приложение, записанное в Objective C, использующем NSDocument архитектура.

    ../Art/choose_proj_template.jpg../Art/choose_proj_template.jpg
  3. Назовите проект MyMediaPlayer и перейдите к расположению, где Вы хотите, чтобы приложение XCode создало папку проекта.

    Окно проекта XCode появляется.

    The Xcode project window for MyMediaPlayerThe Xcode project window for MyMediaPlayer
  4. Проверьте что файлы в Вашем соответствии проекта те на иллюстрации.

    Обратите внимание на то, что значки, представляющие обоих MyDocument.xib и MainMenu.xib перья имеют расширение .xib, который указывает, что Ваш проект использует Интерфейсного Разработчика 3xx. xib формат файла предпочтен во время разработки, потому что это обеспечивает различно-способный текст и SCM-дружественный формат. Во время изготовления XCode автоматически преобразовывает xib файлы Вашего проекта в файлы пера так, чтобы они могли быть развернуты с Вашим приложением. Если у Вас есть существующие файлы пера, однако, можно также продолжать сохранять к тому же самому формату.

  5. Добавьте платформу QTKit к своему проекту MyMediaProject.

    • Из Меню действий в Вашем проекте XCode выберите Add> Add to Existing Frameworks.

      Adding the QTKit framework to your Xcode projectAdding the QTKit framework to your Xcode project
    • В /System/Library/Frameworks каталог, выбрать QTKit.framework.

      ../Art/qtkit-framework-folder.jpg
    • Нажмите панель Target «MyMediaPlayer» Info и проверьте, что Вы соединились с QTKit.framework и Типом Required выбран, как показано на иллюстрации.

      Adding MyMediaPlayer to targets
    • В том же окне Info Target «MyMediaPlayer» выберите Кнопку свойства и откройте область Properties.

    • Выберите строку DocumentType. В столбце Extensions войти mov, и в столбце OS Types, войти MooV.

      Specifying document types and extensions
    • В строке DocumentType выбрать Binary от Типа Хранилища и Viewer из выпадающего меню Role.

    Это завершает первую основную последовательность шагов в Вашем проекте. В следующих нескольких последовательностях Вы объявляете методы экземпляра, в которых Вы нуждаетесь в XCode прежде, чем работать с Интерфейсным Разработчиком.

Импортируйте заголовок QTKit и укажите Ваш проект

В объявлении (.h) файл Вашего проекта XCode, Вы импортируете заголовочный файл QTKit и объявляете переменную экземпляра (movie).

  1. В окне проекта XCode для MyMediaPlayer откройтесь MyDocument.h.

  2. После оператора импорта файла для Какао добавьте оператора импорта для QTKit.

    Ваш код должен быть похожим на это:

    #import <Cocoa/Cocoa.h>
    #import <QTKit/QTKit.h>
  3. Объявите переменную экземпляра movie это указывает на QTMovie объект.

    {
         QTMovie *movie;
    }

    Строка возвращается QTMovie возразите привязке фильма с позже.

  4. Объявите сохраненную ссылку на a QTMovie экземпляр, с помощью @property директива.

    @property(retain) QTMovie *movie;

    В этой точке, коде в Вашем MyDocument.h файл должен быть похожим на это.

    #import <Cocoa/Cocoa.h>
    #import <QTKit/QTKit.h>
     
    @interface MyDocument : NSDocument {
        QTMovie *movie;
    }
     
    @property(retain) QTMovie *movie;
     
    @end
  5. Сохраните файл.

Считайте фильм в формате QuickTime данные

В реализации (.m) файл проекта XCode, Вы устанавливаете содержание своего документа фильма.

  1. Откройтесь MyDocument.m файл реализации.

  2. Установите расположение URL для получения содержания Вашего документа фильма и используйте setMovie: метод для установки фильма документа, чтобы быть QTMovie возразите, что Вы просто создали.

    • Прокрутите вниз к блоку кода, включающему - (BOOL)readFromData: метод.

    • Замените тот блок кода следующим кодом на следующем шаге.

    - (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
    {
         QTMovie *newMovie = [QTMovie movieWithURL:absoluteURL error:outError];
         if (newMovie) {
            [self setMovie:newMovie];
         }
        return (newMovie != nil);
    }
  3. Добавьте @synthesize директива для генерации методов получателя и методов установщика Вам нужно и завершать Вашу реализацию.

    @synthesize movie;
  4. Освободите память.

    -(void)dealloc
    {
        if (movie) {
           [movie release];
        }
        [super dealloc];
    }
  5. Сохраните свой файл.

Это завершает второй этап Вашего проекта. Затем, Вы создаете пользовательский интерфейс для своего Разработчика Интерфейса использования проекта 3.2.

Создайте пользовательский интерфейс с интерфейсным разработчиком

Создать пользовательский интерфейс:

  1. Разработчик интерфейса запуска 3.2.

  2. Откройтесь MyDocument.xib файл.

    Из-за интеграции между Xcode 3.2 и Интерфейсным Разработчиком 3.2, методы Вы объявили в Вашем MyDocument.h файл был синхронно обновлен в Интерфейсном Разработчике 3.2.

  3. В Интерфейсном Разработчике 3.2, выберите Tools> Library для открытия библиотеки сменных средств управления.

    • Прокрутите вниз, пока Вы не найдете фильм в формате QuickTime управление Представлением в библиотеке объектов.

    QuickTime Movie View control in the library

    QTMovieView объект предоставляет Вам экземпляр подкласса представления для отображения фильмов в формате QuickTime, предоставляющихся QTMovie объекты в Вашем проекте.

  4. Выберите текстовый объект «Your document contents here» в окне и нажмите Delete.

  5. Перетащите QTMovieView объект от библиотеки в Ваше окно и изменяет размеры объекта соответствовать окну.

    Обратите внимание на то, что объект комбинирует и представление и управление для воспроизведения носителей.

  6. Измените атрибуты представления фильма.

    • Выберите Tools> Inspector.

    • В панели Inspector выберите значок Movie View Attributes, появляющийся как первый значок в строке наверху панели.

    • Удостоверьтесь, что проверяется флажок Show Controller.

    The movie view attributes with the Show Controller box checkedThe movie view attributes with the Show Controller box checked
  7. Установите автокалибровку для QTMovieView объект в Размере Представления Фильма, как показано на иллюстрации.

    Setting the autosizing for your QTMovieView object
  8. Подключите объект видеоклипа к фильму в формате QuickTime, который будет выведен на экран. Вы делаете это путем определения привязки Какао:

    • В QTMovieView Инспектор (выбирают QTMovieView и откройтесь «Сдвигом Команды, я», в случае необходимости), перейдите к панели Bindings. (Можно также получить доступ к нему путем выбора Tools> Bindings Panel.)

    • В разделе Parameters панели Bindings откройте параметр фильма путем щелчка по треугольнику раскрытия рядом с ним.

    • В “Связывают с”: выпадающее меню, выберите File's Owner.

    • В Ключевом Поле трактов Модели введите текст movie.

      Binding the movie to the File’s Owner and specifying the model key path
    • Проверьте, “Связывают с”: флажок для сохранения настроек.

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

  9. Сохраните Ваш MyDocument.xib файл в Интерфейсном Разработчике и возвращается к Вашему проекту XCode.

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

Создайте и скомпилируйте свой проект в XCode

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

  1. В Вашем проекте XCode выберите Targets> MyMediaPlayer> Properties

  2. В области Document Types войти mov в поле Extensions.

  3. Войти MooV в поле OSTypes.

  4. Войти MyDocument в поле Class.

  5. Укажите тип хранилища как двоичный файл и роль средства просмотра.

Теперь Вы готовы создать и выполнить проект MyMediaPlayer в XCode. Когда проигрыватель запускается, можно открыть и играть любой фильм в формате QuickTime по Вашему выбору. Просто найдите a .mov файл и запуск фильм из меню File> Open в Вашем приложении медиапроигрывателя.

Сводка

В этой главе Вы учились как: