Я пытаюсь сделать приложение для фонарика для своего iPhone. У меня iPhone 4 и я хочу использовать светодиод на моем iPhone для своего проекта. Может ли кто-нибудь помочь мне начать с этого?Активируйте светодиод для приложения фонарика
ответ
Используйте следующее:
AVCaptureSession * session = [[AVCaptureSession alloc] init];
[session beginConfiguration];
AVCaptureDevice * device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch] && [device hasFlash]){
[device lockForConfiguration:nil];
[device setTorchMode:AVCaptureTorchModeOn];
[device setFlashMode:AVCaptureFlashModeOn];
[device unlockForConfiguration];
AVCaptureDeviceInput * flashInput = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil];
if (flashInput){
[session addInput:flashInput];
}
AVCaptureVideoDataOutput * output = [[AVCaptureVideoDataOutput alloc] init];
[session addOutput:output];
[output release];
[session commitConfiguration];
[session startRunning];
}
[self setTorchSession:session];
[session release];
(Из discussion на iPhoneDevSDK)
Вот сокращенный вариант теперь вы можете использовать, чтобы включить индикатор включения или выключения:
- (void)torchOnOff: (BOOL) onOff
{
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) {
[device lockForConfiguration:nil];
[device setTorchMode: onOff ? AVCaptureTorchModeOn : AVCaptureTorchModeOff];
[device unlockForConfiguration];
}
}
ОБНОВЛЕНИЕ: (март 2015 г.)
Вы также можете установить яркость фонарика:
- (void)setTorchToLevel:(float)torchLevel
{
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) {
[device lockForConfiguration:nil];
if (torchLevel <= 0.0) {
[device setTorchMode:AVCaptureTorchModeOff];
}
else {
if (torchLevel >= 1.0)
torchLevel = AVCaptureMaxAvailableTorchLevel;
BOOL success = [device setTorchModeOnWithLevel:torchLevel error:nil];
}
[device unlockForConfiguration];
}
}
Вам нужно всего лишь запустить сеанс, если вы используете этот код в версиях iOS до 5,0 – mahboudz
Это работает на iOS 5.1, старый ответ - нет. –
Не могли бы вы прокомментировать, с какими версиями это работает? –
- 1. Быстрое (100 Гц или более) мигание фонарика камеры Светодиод
- 2. Вспышка приложения фонарика в секундах щелчка значка
- 3. Булевский мигающий светодиод для Labview
- 4. Мой код для фонарика не работает
- 5. Android Как быстро мигать светодиод/фонарик
- 6. Включение фонарика на Android? Самый совместимый подход?
- 7. Остановка фонарика ios
- 8. Как переключить режим фонарика?
- 9. Виджет фонарика не отключается
- 10. Приложение для фонарика onResume не работает?
- 11. Открытие фонарика Galaxy Nexus
- 12. Эффект фонарика с css
- 13. Изменение iPhone камеры/фонарика?
- 14. Эффект фонарика CSS3
- 15. Какова максимальная скорость мигания светодиодного фонарика в телефоне Android?
- 16. Phonegap 3.7.0 Плагин для фонарика не работает
- 17. Приложение для фонарика закрывается в фоновом режиме
- 18. Как программировать светодиод Nexus?
- 19. Активируйте GPS с серверного приложения на Android-приложение
- 20. 7-сегментный светодиод + 4094
- 21. светодиод не включается
- 22. создать светодиод, используя трижды
- 23. Активируйте кнопку ЗАКРЫТЬ
- 24. Камера и светодиод вместе
- 25. Pass success_url к АКТИВИРУЙТЕ
- 26. Мигающий светодиод с CPLD
- 27. Включите светодиод для уведомления на Android M
- 28. Управление яркостью фонарика в android
- 29. мигает фонарик, сделайте приложение фонарика
- 30. Код фонарика Android не работает
Спасибо, Итак, я добавил кнопку в viewcontroller.xib в interfacebuilder. Как заставить кнопку запускать и останавливать фонарик? –
Сделайте IBOutlet для IBAction и подключите его к селектору кнопки. Затем в IBAction, в зависимости от того, включен ли светодиод, вызовите код или вызовите измененную версию кода, заменив все входящие в него выходы. – jrtc27
Вы проверили мой другой пост? Я добавил IBOutlet и IBActon, но я не знаю, как добавить свой код к кнопке. Можете ли вы посмотреть и помочь мне и показать, как добавить код к кнопке. Я знаю, что мне нужно изменить; [устройство setTorchMode: AVCaptureTorchModeOn]; [устройство setFlashMode: AVCaptureFlashModeOn]; К [устройство setTorchMode: AVCaptureTorchModeOff]; [устройство setFlashMode: AVCaptureFlashModeOff]; Вы можете посмотреть на мой код в другом посте и показать мне, как это сделать, вы можете по электронной почте мне holmes2870 @ yahoo.com Я новичок в этом так иметь терпение ... Спасибо David H –