Расширение приложения медиапроигрывателя

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

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

Расширьте проект MyMediaPlayer

Расширять проект MyMediaPlayer:

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

  2. Выберите проект MyMediaPlayer, который Вы создали в предыдущей главе, и откройте его.

  3. В Вашем проекте MyMediaPlayer щелкните MyDocument.h файл объявления.

  4. Объявите a mMovieView переменная экземпляра для указания на QTMovieView Соедините интерфейсом с выходом Разработчика, после строки кода, в котором Вы объявили movie переменная экземпляра, указывающая QTMovie объект.

    IBOutlet QTMovieView  *mMovieView;

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

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

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

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

Соедините интерфейсом с Разработчиком, и XCode разработаны для работы беспрепятственно вместе, позволив Вам создать и реализовать различные элементы в Вашем проекте более эффективно и с меньшим количеством кода наверху.

  1. Разработчик Интерфейса запуска 3.2 и открытый MyDocument.xib файл в Вашем окне проекта XCode, в котором Вы создали выполнение шагов в предыдущей главе, Создает Пользовательский интерфейс с Интерфейсным Разработчиком.

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

  3. Выберите Объект окна в MyDocument.xib панель.

    • В Инспекторе щелкните по значку атрибутов Окна.

    • Определите поведение и появление Объекта окна.

    ../Art/ib_window_attrib.jpg../Art/ib_window_attrib.jpg
  4. Спасите и выйдите из Интерфейсного Разработчика.

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

Измените файл реализации в XCode

Изменить файл реализации:

  1. Откройтесь MyDocument.m файл и прокручивает вниз к блоку кода, начинающемуся со следующего:

    - (void)windowControllerDidLoadNib:(NSWindowController *) aController
  2. Для показа управления фильмом увеличивают поле, используют setShowsResizeIndicator: метод.

  3. Для сокрытия окна изменяют размеры индикатора, таким образом, это не вмешивается в управление фильмом, используйте setShowsResizeIndicator: метод.

  4. Добавьте следующие строки так, чтобы Ваш код был похож на это:

    - (void)windowControllerDidLoadNib:(NSWindowController *) aController
    {
        [super windowControllerDidLoadNib:aController];
        [mMovieView setShowsResizeIndicator:YES];
        [[mMovieView window] setShowsResizeIndicator:NO];
    }
  5. В блоке кода, начинающемся readFromURL:ofType:error: метод, устанавливающий содержание документа путем чтения из файла или пакета файла, указанного типа, расположенного URL, добавляет эту строку:

    [newMovie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieEditableAttribute];
  6. Удостоверьтесь, что полный блок кода появляется следующим образом:

    - (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError
    {
        QTMovie *newMovie = [QTMovie movieWithURL:absoluteURL error:outError];
        if (newMovie) {
            [newMovie setAttribute:[NSNumber numberWithBool:YES] forKey:QTMovieEditableAttribute];
     
            [self setMovie:newMovie];
       }
     
        return (newMovie != nil);
    }

    Путем вызова setAttribute:forKey: метод и использование QTMovie доступный для редактирования атрибут, Вы отметили фильм как доступный для редактирования. Это означает, что любые операции редактирования, которые Вы выбираете, такой, как сокращено, копия и вставка, могут быть выполнены на самом фильме. Значение для этого ключа имеет тип NSNumber, интерпретируемый как булево значение. Если фильм может быть отредактирован, значение YES. Понимание, как использовать атрибуты, чтобы указать и выполнить определенные задачи, важно в работе с API QTKit. Атрибуты, к которым можно получить доступ в платформе QTKit, обсуждены в следующей главе, Настроив Приложение Медиапроигрывателя.

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

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

После того, как Вы завершили эти шаги, запускаете Ваш медиапроигрыватель в XCode, открытом, и выводите на экран фильмы в формате QuickTime и выполняете редактирование на тех фильмах.

  1. В XCode, сборке и запущенный приложение медиапроигрывателя. В Файле> Открытый, выберите фильм и откройте его. Фильм абсолютно доступен для редактирования с панелью ползунка для редактирования.

    The media player with an editable movie displayed
  2. Получить доступ к особенностям редактирования проигрывателя или управлять воспроизведением, останавливаясь или запуская демонстрационный фильм, щелчок управления где угодно в фильме. Контекстное меню появляется.

    The media player with control and editing using a contextual menu

Сводка

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