Используя видео
Запись и редактирование видео
Запускаясь в iOS 3.0, можно записать видео, с включенным аудио, на поддерживаемых устройствах. Для отображения интерфейса видеозаписи создайте и продвиньте a UIImagePickerController
объект, так же, как для отображения интерфейса цифровой видеокамеры для покадровой съемки.
Для записи видео необходимо сначала проверить что исходный тип камеры (UIImagePickerControllerSourceTypeCamera
) доступно и что тип среды фильма (kUTTypeMovie
) доступно для камеры. В зависимости от типов среды Вы присваиваетесь к mediaTypes
свойство, средство выбора может непосредственно вывести на экран цифровую видеокамеру для покадровой съемки или видеокамеру или интерфейс выбора, позволяющий пользователю выбрать.
Используя UIImagePickerControllerDelegate
протокол, регистр как делегат средства выбора изображения. Ваш объект делегата получает завершенную видеозапись посредством imagePickerController:didFinishPickingMediaWithInfo:
метод.
На поддерживаемых устройствах можно также выбрать ранее зарегистрированные видео от фото библиотеки пользователя.
Для получения дополнительной информации об использовании класса средства выбора изображения посмотрите Ссылку класса UIImagePickerController. Для получения информации об обрезке зарегистрированных видео посмотрите Ссылку на протокол Ссылки класса и UIVideoEditorControllerDelegate UIVideoEditorController.
В iOS 4.0 и позже, можно записать от камеры устройства и вывести на экран входящие данные, живые на экране. Вы используете AVCaptureSession
управлять потоком данных от вводов, представленных AVCaptureInput
объекты (которые добиваются ввода от AVCaptureDevice
) к выводам, представленным AVCaptureOutput
.
В iOS 4.0 и позже, можно отредактировать, собрать и составить видео с помощью существующих активов или с новым сырьем. Активы представлены AVAsset
, который можно проверить асинхронно для лучшей производительности. Вы используете AVMutableComposition
составить носители из одного или более источников, тогда AVAssetExportSession
закодировать вывод состава для поставки.
Игра видеофайлов
iOS поддерживает возможность воспроизвести видеофайлы непосредственно из Вашего приложения с помощью платформы Медиапроигрывателя, описанной в Ссылке Платформы Медиапроигрывателя. Воспроизведение видео поддерживается в полноэкранном режиме только и может использоваться разработчиками игр, хотящими играть короткие анимации или любыми разработчиками, хотящими играть медиа-файлы. При запуске видео с приложения интерфейс медиапроигрывателя вступает во владение, исчезая экран к черному цвету и затем постепенно появляясь видеоконтент. Можно играть видео с или без контроля за работой пользователей для корректировки воспроизведения. Включение некоторых или всех этих средств управления (показанный на рисунке 2-1) предоставляет пользователю возможность изменить объем, изменить точку воспроизведения, или запустить и остановить видео. Если Вы отключаете все эти средства управления, видео игры до завершения.
Для инициирования воспроизведения видео необходимо знать URL файла, который Вы хотите играть. Для подает Ваше заявление, обеспечивает, это обычно было бы указателем на файл в пакете Вашего приложения; однако, это может также быть указатель на файл на удаленном сервере. Используйте этот URL для инстанцирования нового экземпляра MPMoviePlayerController
класс. Этот класс осуществляет контроль над воспроизведением Вашего видеофайла и управляет взаимодействием с пользователем, таким как пользователь касается в управлении передачей (если показано). Для запуска воспроизведения вызовите play
метод описан в Ссылке на протокол MPMediaPlayback.
Перечисление 2-1 показывает выборочный метод, воспроизводящий видео в указанном URL. Метод игры является асинхронным вызовом, возвращающим управление вызывающей стороне, в то время как играет фильм. Контроллер фильма загружает фильм в полноэкранном представлении и анимирует фильм в место поверх существующего содержания приложения. Когда воспроизведение закончено, контроллер фильма отправляет уведомление, полученное объектом контроллера приложения, выпускающим контроллер фильма теперь, когда это больше не необходимо.
Перечисление 2-1 , Проигрывающее полноэкранные фильмы
-(void) playMovieAtURL: (NSURL*) theURL { |
MPMoviePlayerController* theMovie = |
[[MPMoviePlayerController alloc] initWithContentURL: theURL]; |
theMovie.scalingMode = MPMovieScalingModeAspectFill; |
theMovie.movieControlMode = MPMovieControlModeHidden; |
// Register for the playback finished notification |
[[NSNotificationCenter defaultCenter] |
addObserver: self |
selector: @selector(myMovieFinishedCallback:) |
name: MPMoviePlayerPlaybackDidFinishNotification |
object: theMovie]; |
// Movie playback is asynchronous, so this method returns immediately. |
[theMovie play]; |
} |
// When the movie is done, release the controller. |
-(void) myMovieFinishedCallback: (NSNotification*) aNotification |
{ |
MPMoviePlayerController* theMovie = [aNotification object]; |
[[NSNotificationCenter defaultCenter] |
removeObserver: self |
name: MPMoviePlayerPlaybackDidFinishNotification |
object: theMovie]; |
// Release the movie instance created in playMovieAtURL: |
[theMovie release]; |
} |
Для списка поддерживаемых форматов видео см. Технологический Обзор iOS.
В iOS 4.0 и позже, можно играть видео использование AVPlayer
в сочетании с AVPlayerLayer
или AVSynchronizedLayer
объект. Можно использовать AVAudioMix
и AVVideoComposition
настроить аудио и видео части воспроизведения соответственно. Можно также использовать AVCaptureVideoPreviewLayer
вывести на экран видео, поскольку это получается устройством ввода данных.