Я использую пример кода Apple GLCameraRipple в моем проекте, и мне было интересно, есть ли способ сделать снимок/видео? Проект можно найти по адресу https://developer.apple.com/library/ios/samplecode/GLCameraRipple/Introduction/Intro.htmlКак сохранить изображение с помощью AVCaptureDevice
ответ
Прежде всего, убедитесь, что вы включили инфраструктуру AssetLibrary, потому что нам нужно, чтобы получить доступ к библиотеке фотографий. Предполагая, что вы правильно настроили захват AVCaptureSession, AVCaptureDevice и AVCaptureStillImageOutput (stillImage), теперь вы можете создать кнопку или просто вызвать функцию ниже, чтобы сохранить изображение.
-(void)captureMultipleTimes
{
AVCaptureConnection *connection = [stillImage connectionWithMediaType:AVMediaTypeVideo];
typedef void(^MyBufBlock)(CMSampleBufferRef, NSError*);
MyBufBlock h = ^(CMSampleBufferRef buf, NSError *err){
NSData *data = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:buf];
[self setToSaveImage:[UIImage imageWithData:data]];
dispatch_async(dispatch_get_main_queue(), ^{
if(saveLabel == NULL){
[self setSaveLabel:[[UILabel alloc] initWithFrame:CGRectMake(0,self.view.bounds.size.height/2, self.view.bounds.size.width, 50)]];
[saveLabel setText:@"Saving.."];
[saveLabel setTextColor:[captureBt titleColorForState:UIControlStateNormal]];
[self.view addSubview:saveLabel];
} else
saveLabel.hidden = NO;
UIImageWriteToSavedPhotosAlbum(toSaveImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
});
};
[stillImage captureStillImageAsynchronouslyFromConnection:connection completionHandler:h];
}
Вы также должны реализовать изображение: didFinishSavingWithError: contextInfo: метод как функцию завершения сохранения изображения. Одним из примеров является следующим:
-(void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo
{
if(error != NULL){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error!" message:@"Image could not be saved" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
}
else{
[saveLabel setHidden:YES];
}
}
функции выше будет отображаться «Saving ..» ярлык на экране, как только вы вызываете функцию captureMultipleTimes. Это просто означает, что в настоящее время он сохраняет видеовход как изображение и сохраняет его в фото lib. Как только он закончит сохранение, метка сохранения будет скрыта от экрана. Надеюсь это поможет!
- 1. Как отложить фокусировку с помощью AVCaptureDevice
- 2. Как сохранить просмотренное (увеличенное изображение) как фотографию с помощью AVFoundation?
- 3. AVCaptureDevice videoZoomFactor
- 4. AVCaptureDevice adjustingExposure - False, но зафиксированное изображение темное
- 5. Сохранить изображение с помощью FileSavePicker
- 6. Сохранить изображение с помощью matplotlib.pyplot
- 7. Как сохранить изображение с помощью JpegBitmapEncoder
- 8. Как сохранить изображение с помощью Python
- 9. Как сохранить изображение с помощью NSUserDefaults?
- 10. Как сохранить изображение с помощью PHP?
- 11. Сохранить html как изображение с помощью HTML2CANVAS
- 12. Как сохранить удаленное изображение с помощью Swift?
- 13. Как сохранить текущее изображение с помощью viewpager?
- 14. Сохранить холст как изображение с помощью javascript
- 15. Как сохранить повернутое изображение с помощью jQuery?
- 16. Как сохранить изображение с помощью php?
- 17. Linux: как сохранить изображение с помощью ImageIO.write()?
- 18. Как сохранить изображение с помощью sharedpreferences? Android
- 19. Mocking AVCaptureDevice с OCMock
- 20. Фотоснимок с использованием AVCaptureDevice с наложением изображения
- 21. Touch ID freezes AVCaptureDevice
- 22. Сохранить изображение с помощью watir-webdriver
- 23. PHP - Сохранить изображение, загруженное с помощью AJAX
- 24. сохранить обрезанное изображение с помощью JCrop
- 25. Не удается сохранить изображение с помощью OpenCV
- 26. Сохранить изображение Изменение размера с помощью PHP
- 27. Почему AVCaptureDevice nil?
- 28. Сохранить изображение, выбранное с помощью FileOpenPicker
- 29. Как вычислить focusPointOfInterest для AVCaptureDevice?
- 30. Сохранить как изображение
проверить эту ссылку http://www.musicalgeometry.com/?p=1273 –
вам нужно будет запустить код на устройстве, чтобы иметь доступ к ним, это не произойдет из симулятора – aug2uag