SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
iOS Internship 2014
Мультимедиа
Карты и нав
Проигрывание аудио/видео
Импорт/экспорт картинок
Камера
лекция 12
Мультимедиа
Мультимедиа
● используется для показа видео
● поддерживает проигрывание локальных файлов и стриминг
● позволяет использовать стандартные контролы или реализовать свои
● поддерживает паузу, перемотку, автостарт (по готовности буфера), закольцовывание
● позволяет получать некоторые метаданные из потока
● изменение состояния отслеживается через глобальные нотификации
● в симуляторе работает, но может глючить
MPMoviePlayerController
Мультимедиа
MPMoviePlayerController
@property (strong, nonatomic) MPMoviePlayerController *mpController;
//...
NSURL *videoURL =
[NSURL URLWithString:@"http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"];
self.mpController = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
self.mpController.controlStyle = MPMovieControlModeHidden;
self.mpController.shouldAutoplay = YES;
self.mpController.controlStyle = MPMovieControlStyleEmbedded;
self.mpController.view.frame = self.view.bounds;
self.mpController.repeatMode = MPMovieRepeatModeOne;
self.mpController.view.autoresizingMask =
UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:self.mpController.view];
[self.mpController play];
Мультимедиа
Действительно много вариантов:
● Media Player framework — проигрывание треков из библиотеки устройства
● AV Foundation framework — простое проигрывание и запись звука
● Audio Toolbox framework — проигрывание с возможностью синхронизации, парсинга
стримов, конвертации аудио-формата, записи с доступом к отдельным пакетам и т.д.
● Audio Unit framework — работа с цепочками плагинов, роутинг, синтез и т.д.
● OpenAL framework — применяется в основном в игровых движках
Проигрывание звука
Мультимедиа
● Не самый производительный (не подойдёт для приложения-метронома)
● Не самый большой уровень контроля (не подойдёт для dj-плеера)
● Самый простой способ проиграть аудио (подойдёт для фоновой музыки в приложении)
NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"jahkutia"
ofType:@"mp3"]];
NSError *error = nil;
self.avPlayer = [[AVAudioPlayer alloc]
initWithContentsOfURL:musicFile
error:&error];
[self.avPlayer play];
AVAudioPlayer
Мультимедиа
UIImagePickerController — универсальный способ получения картинок и видео из
фотоальбомов устройства и с камеры. Предоставляет стандартные контролы для выбора
картинок и управления камерой.
UIImagePickerController
Мультимедиа
UIImagePickerController
self.pickerController = [[UIImagePickerController alloc] init];
self.pickerController.sourceType = sourceType;
self.pickerController.delegate = self;
[self presentViewController:self.pickerController
animated:YES
completion:nil];
}
//...
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:^{
self.imageView.image = info[UIImagePickerControllerOriginalImage];
self.pickerController = nil;
}];
}
Мультимедиа
Получение фото с камеры
self.pickerController = [[UIImagePickerController alloc] init];
self.pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
self.pickerController.delegate = self;
[self presentViewController:self.pickerController
animated:YES
completion:nil];
}
//...
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:^{
self.imageView.image = info[UIImagePickerControllerOriginalImage];
self.pickerController = nil;
}];
}
Мультимедиа
Импорт картинок из альбомов
self.pickerController = [[UIImagePickerController alloc] init];
self.pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self.pickerController.delegate = self;
[self presentViewController:self.pickerController
animated:YES
completion:nil];
}
//...
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:^{
self.imageView.image = info[UIImagePickerControllerOriginalImage];
self.pickerController = nil;
}];
}
Мультимедиа
UIImage *image = self.image;
//...
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum:image.CGImage
orientation:(ALAssetOrientation)image.imageOrientation
completionBlock:^(NSURL *assetURL, NSError *error) {
// Обработка возможной ошибки
//...
}];
Экспорт картинок в альбом
Мультимедиа
Экспорт картинок в альбом
UIImage *image = self.image;
//...
UIImageWriteToSavedPhotosAlbum(image,
self,
@selector(image:didFinishSavingWithError:contextInfo:),
NULL);
//...
- (void)image:(UIImage *)image
didFinishSavingWithError:(NSError *)error
contextInfo:(void *)contextInfo
{
//...
}

Mais conteúdo relacionado

Destaque

iOS-07_2 Multithreading
iOS-07_2 MultithreadingiOS-07_2 Multithreading
iOS-07_2 MultithreadingNoveo
 
09 ns data
09   ns data09   ns data
09 ns dataNoveo
 
02 ns string
02   ns string02   ns string
02 ns stringNoveo
 
iOS-05_2-UIKit
iOS-05_2-UIKitiOS-05_2-UIKit
iOS-05_2-UIKitNoveo
 
iOS-01-Основы Objective-C
iOS-01-Основы Objective-CiOS-01-Основы Objective-C
iOS-01-Основы Objective-CNoveo
 
iOS-02-Паттерны ООП
iOS-02-Паттерны ООПiOS-02-Паттерны ООП
iOS-02-Паттерны ООПNoveo
 
05 ns dictionary
05   ns dictionary05   ns dictionary
05 ns dictionaryNoveo
 
хранение данных
хранение данныххранение данных
хранение данныхNoveo
 
07 ns value
07   ns value07   ns value
07 ns valueNoveo
 
iOS-07_1 Objective-C Blocks
iOS-07_1 Objective-C BlocksiOS-07_1 Objective-C Blocks
iOS-07_1 Objective-C BlocksNoveo
 
03 коллекции
03   коллекции03   коллекции
03 коллекцииNoveo
 
10 ns error
10   ns error10   ns error
10 ns errorNoveo
 
06 ns set
06   ns set06   ns set
06 ns setNoveo
 
карты, навигация
карты, навигациякарты, навигация
карты, навигацияNoveo
 
шаринг
шарингшаринг
шарингNoveo
 
обработка событий
обработка событийобработка событий
обработка событийNoveo
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Noveo
 
Rest
RestRest
RestNoveo
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Noveo
 
работа с сетью
работа с сетьюработа с сетью
работа с сетьюNoveo
 

Destaque (20)

iOS-07_2 Multithreading
iOS-07_2 MultithreadingiOS-07_2 Multithreading
iOS-07_2 Multithreading
 
09 ns data
09   ns data09   ns data
09 ns data
 
02 ns string
02   ns string02   ns string
02 ns string
 
iOS-05_2-UIKit
iOS-05_2-UIKitiOS-05_2-UIKit
iOS-05_2-UIKit
 
iOS-01-Основы Objective-C
iOS-01-Основы Objective-CiOS-01-Основы Objective-C
iOS-01-Основы Objective-C
 
iOS-02-Паттерны ООП
iOS-02-Паттерны ООПiOS-02-Паттерны ООП
iOS-02-Паттерны ООП
 
05 ns dictionary
05   ns dictionary05   ns dictionary
05 ns dictionary
 
хранение данных
хранение данныххранение данных
хранение данных
 
07 ns value
07   ns value07   ns value
07 ns value
 
iOS-07_1 Objective-C Blocks
iOS-07_1 Objective-C BlocksiOS-07_1 Objective-C Blocks
iOS-07_1 Objective-C Blocks
 
03 коллекции
03   коллекции03   коллекции
03 коллекции
 
10 ns error
10   ns error10   ns error
10 ns error
 
06 ns set
06   ns set06   ns set
06 ns set
 
карты, навигация
карты, навигациякарты, навигация
карты, навигация
 
шаринг
шарингшаринг
шаринг
 
обработка событий
обработка событийобработка событий
обработка событий
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
 
Rest
RestRest
Rest
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)
 
работа с сетью
работа с сетьюработа с сетью
работа с сетью
 

Semelhante a мультимедиа

Canon Powershot sx50 hs camera user guide ru
Canon Powershot sx50 hs camera user guide ruCanon Powershot sx50 hs camera user guide ru
Canon Powershot sx50 hs camera user guide ruІгор Ко
 
Nikon d5200
Nikon d5200Nikon d5200
Nikon d5200ChachinS
 
4 g cameras_user manual_rus
4 g cameras_user manual_rus4 g cameras_user manual_rus
4 g cameras_user manual_rusRaviTamada1
 
Интерактивность в Html5
Интерактивность в Html5Интерактивность в Html5
Интерактивность в Html5Alexander Samantsov
 
Практикум 2 (тема 3)
Практикум 2 (тема 3)Практикум 2 (тема 3)
Практикум 2 (тема 3)Pavel Kallinikov
 
создание клипа в программе WINDOWS Movie Макер
создание клипа  в программе WINDOWS Movie Макерсоздание клипа  в программе WINDOWS Movie Макер
создание клипа в программе WINDOWS Movie МакерОльга Данильченко
 
электронное пособие
электронное пособиеэлектронное пособие
электронное пособиеseregamolodets13
 
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...corehard_by
 
Movie maker
Movie makerMovie maker
Movie makeruxtishka
 
призентацыя
призентацыяпризентацыя
призентацыяketyaet
 

Semelhante a мультимедиа (14)

Canon Powershot sx50 hs camera user guide ru
Canon Powershot sx50 hs camera user guide ruCanon Powershot sx50 hs camera user guide ru
Canon Powershot sx50 hs camera user guide ru
 
Nikon d5200
Nikon d5200Nikon d5200
Nikon d5200
 
4 g cameras_user manual_rus
4 g cameras_user manual_rus4 g cameras_user manual_rus
4 g cameras_user manual_rus
 
Интерактивность в Html5
Интерактивность в Html5Интерактивность в Html5
Интерактивность в Html5
 
Практикум 6
Практикум 6Практикум 6
Практикум 6
 
Практикум 2 (тема 3)
Практикум 2 (тема 3)Практикум 2 (тема 3)
Практикум 2 (тема 3)
 
создание клипа в программе WINDOWS Movie Макер
создание клипа  в программе WINDOWS Movie Макерсоздание клипа  в программе WINDOWS Movie Макер
создание клипа в программе WINDOWS Movie Макер
 
электронное пособие
электронное пособиеэлектронное пособие
электронное пособие
 
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...Windbg: когда у нас не воспроизводится. Александр Головач ➠  CoreHard Autumn ...
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...
 
18 10 11_omskiy_prez
18 10 11_omskiy_prez18 10 11_omskiy_prez
18 10 11_omskiy_prez
 
18 10 11_omskiy_prez
18 10 11_omskiy_prez18 10 11_omskiy_prez
18 10 11_omskiy_prez
 
Movie maker
Movie makerMovie maker
Movie maker
 
основные этапы работы по созданию буктрейлера
основные этапы работы по созданию буктрейлераосновные этапы работы по созданию буктрейлера
основные этапы работы по созданию буктрейлера
 
призентацыя
призентацыяпризентацыя
призентацыя
 

Mais de Noveo

Гуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииГуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииNoveo
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Noveo
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Noveo
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Noveo
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Noveo
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Noveo
 
Yii2
Yii2Yii2
Yii2Noveo
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизацияNoveo
 
PHP basic
PHP basicPHP basic
PHP basicNoveo
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP AdvancedNoveo
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQLNoveo
 
MySQL
MySQLMySQL
MySQLNoveo
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Noveo
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)Noveo
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Noveo
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Noveo
 
Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)Noveo
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)Noveo
 
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Noveo
 
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)Noveo
 

Mais de Noveo (20)

Гуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрииГуманитарные специальности в IT-индустрии
Гуманитарные специальности в IT-индустрии
 
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
 
Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)Семантика текста (HTML5 тема 04 - семантика текста)
Семантика текста (HTML5 тема 04 - семантика текста)
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)
 
Yii2
Yii2Yii2
Yii2
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизация
 
PHP basic
PHP basicPHP basic
PHP basic
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP Advanced
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
MySQL
MySQLMySQL
MySQL
 
Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
 
Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)Animations (Lecture 17 – animations)
Animations (Lecture 17 – animations)
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
 
Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)
 
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
Библиотеки для передачи данных (Lecture 13 – multithreading, network (libs))
 
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
 

мультимедиа

  • 2. Карты и нав Проигрывание аудио/видео Импорт/экспорт картинок Камера лекция 12 Мультимедиа
  • 3. Мультимедиа ● используется для показа видео ● поддерживает проигрывание локальных файлов и стриминг ● позволяет использовать стандартные контролы или реализовать свои ● поддерживает паузу, перемотку, автостарт (по готовности буфера), закольцовывание ● позволяет получать некоторые метаданные из потока ● изменение состояния отслеживается через глобальные нотификации ● в симуляторе работает, но может глючить MPMoviePlayerController
  • 4. Мультимедиа MPMoviePlayerController @property (strong, nonatomic) MPMoviePlayerController *mpController; //... NSURL *videoURL = [NSURL URLWithString:@"http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"]; self.mpController = [[MPMoviePlayerController alloc] initWithContentURL:videoURL]; self.mpController.controlStyle = MPMovieControlModeHidden; self.mpController.shouldAutoplay = YES; self.mpController.controlStyle = MPMovieControlStyleEmbedded; self.mpController.view.frame = self.view.bounds; self.mpController.repeatMode = MPMovieRepeatModeOne; self.mpController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; [self.view addSubview:self.mpController.view]; [self.mpController play];
  • 5. Мультимедиа Действительно много вариантов: ● Media Player framework — проигрывание треков из библиотеки устройства ● AV Foundation framework — простое проигрывание и запись звука ● Audio Toolbox framework — проигрывание с возможностью синхронизации, парсинга стримов, конвертации аудио-формата, записи с доступом к отдельным пакетам и т.д. ● Audio Unit framework — работа с цепочками плагинов, роутинг, синтез и т.д. ● OpenAL framework — применяется в основном в игровых движках Проигрывание звука
  • 6. Мультимедиа ● Не самый производительный (не подойдёт для приложения-метронома) ● Не самый большой уровень контроля (не подойдёт для dj-плеера) ● Самый простой способ проиграть аудио (подойдёт для фоновой музыки в приложении) NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"jahkutia" ofType:@"mp3"]]; NSError *error = nil; self.avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:&error]; [self.avPlayer play]; AVAudioPlayer
  • 7. Мультимедиа UIImagePickerController — универсальный способ получения картинок и видео из фотоальбомов устройства и с камеры. Предоставляет стандартные контролы для выбора картинок и управления камерой. UIImagePickerController
  • 8. Мультимедиа UIImagePickerController self.pickerController = [[UIImagePickerController alloc] init]; self.pickerController.sourceType = sourceType; self.pickerController.delegate = self; [self presentViewController:self.pickerController animated:YES completion:nil]; } //... - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissViewControllerAnimated:YES completion:^{ self.imageView.image = info[UIImagePickerControllerOriginalImage]; self.pickerController = nil; }]; }
  • 9. Мультимедиа Получение фото с камеры self.pickerController = [[UIImagePickerController alloc] init]; self.pickerController.sourceType = UIImagePickerControllerSourceTypeCamera; self.pickerController.delegate = self; [self presentViewController:self.pickerController animated:YES completion:nil]; } //... - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissViewControllerAnimated:YES completion:^{ self.imageView.image = info[UIImagePickerControllerOriginalImage]; self.pickerController = nil; }]; }
  • 10. Мультимедиа Импорт картинок из альбомов self.pickerController = [[UIImagePickerController alloc] init]; self.pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; self.pickerController.delegate = self; [self presentViewController:self.pickerController animated:YES completion:nil]; } //... - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissViewControllerAnimated:YES completion:^{ self.imageView.image = info[UIImagePickerControllerOriginalImage]; self.pickerController = nil; }]; }
  • 11. Мультимедиа UIImage *image = self.image; //... ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock:^(NSURL *assetURL, NSError *error) { // Обработка возможной ошибки //... }]; Экспорт картинок в альбом
  • 12. Мультимедиа Экспорт картинок в альбом UIImage *image = self.image; //... UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL); //... - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo { //... }