Tôi đang cố gắng tạo ứng dụng đèn pin cho iPhone của mình. Tôi có một chiếc iPhone 4 và muốn sử dụng đèn LED trên iPhone cho dự án của mình. Bất cứ ai có thể giúp tôi để bắt đầu với điều đó?Kích hoạt đèn LED cho ứng dụng đèn pin
Trả lời
Sử dụng như sau:
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];
(Từ một discussion trên iPhoneDevSDK)
Đây là một phiên bản ngắn hơn bây giờ bạn có thể sử dụng để biến LED bật hoặc tắt:
- (void)torchOnOff: (BOOL) onOff
{
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]) {
[device lockForConfiguration:nil];
[device setTorchMode: onOff ? AVCaptureTorchModeOn : AVCaptureTorchModeOff];
[device unlockForConfiguration];
}
}
CẬP NHẬT: (Tháng 3 năm 2015)
Bạn cũng có thể đặt độ sáng của đèn pin:
- (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];
}
}
Bạn chỉ cần chạy phiên nếu bạn đang sử dụng mã này trên các phiên bản iOS trước 5.0 – mahboudz
Tính năng này hoạt động trên iOS 5.1, Câu trả lời cũ thì không. –
Bạn có thể vui lòng nhận xét về phiên bản nào hoạt động với? –
- 1. Đèn LED không hoạt động trên Samsung Galaxy Nexus
- 2. AVCaptureDevice: Flash hoặc đèn pin?
- 3. Đèn pin mở của Galaxy Nexus
- 4. Điều khiển đèn LED Android từ vỏ
- 5. Nhấp nháy đèn LED với Arduino và pySerial
- 6. Đèn pin LED trên Galaxy Nexus có thể điều khiển được bằng API nào?
- 7. Làm cách nào để có thông báo đèn LED?
- 8. Hộp đèn đáp ứng
- 9. Đèn hướng
- 10. Đèn thông báo Android không hoạt động
- 11. Làm cách nào để flash một đèn LED, sử dụng libftdi v0.18?
- 12. Đèn LED thông báo của Android không sử dụng màu của tôi
- 13. Đèn OpenGL giới hạn
- 14. Hộp đèn cho đường ray?
- 15. Điều khiển đèn LED của bàn phím bằng cách sử dụng c
- 16. Có bất kỳ phông chữ nào trông giống như đèn LED trong iPhone không?
- 17. Làm cách nào để chọn đúng camera để bật đèn pin, trong Android 2.2?
- 18. Các bước để thực hiện nháy đèn LED từ chương trình C/C++?
- 19. Hộp đèn di động?
- 20. Đèn chiếu sáng GLSL chung
- 21. Đồng hồ bấm giờ cho đèn bạc?
- 22. Làm cách nào để kiểm tra mã bật đèn LED của thiết bị Android?
- 23. Cách chuyển đổi chức năng đèn pin trong iPhone 4 iOS 6 lúc bắt đầu ứng dụng với tùy chọn plist
- 24. Hộp đèn jQuery có zoom
- 25. Mô phỏng đèn flash "chụp ảnh"
- 26. Thông báo về đèn và đẩy
- 27. Cách để máy tính bật đèn flash
- 28. Điều khiển đèn USB qua phần mềm
- 29. Blink LED sử dụng Visual C++
- 30. Cách sử dụng hộp màu plugin hộp đèn?
Cảm ơn bạn, Vì vậy, tôi đã thêm một nút trong viewcontroller.xib trong interfacebuilder. Làm cách nào để nút khởi động và dừng đèn pin? –
Tạo một IBOutlet cho một IBAction và kết nối nó với bộ chọn của nút. Sau đó, trong IBAction, tùy thuộc vào việc đèn LED đã bật chưa, hãy gọi mã hoặc gọi phiên bản đã sửa đổi của mã với tất cả các tiện ích được thay thế bằng các lần tắt. – jrtc27
Bạn đã kiểm tra bài đăng khác của tôi chưa? Tôi đã thêm IBOutlet và IBActon nhưng tôi không biết cách thêm mã của mình vào nút. Bạn có thể có một cái nhìn và giúp tôi ra và cho tôi thấy làm thế nào để thêm mã vào nút. Tôi biết tôi cần thay đổi; [device setTorchMode: AVCaptureTorchModeOn]; [device setFlashMode: AVCaptureFlashModeOn]; Để [device setTorchMode: AVCaptureTorchModeOff]; [device setFlashMode: AVCaptureFlashModeOff]; Bạn có thể nhìn vào mã của tôi trong bài khác và chỉ cho tôi làm thế nào để làm điều này, bạn có thể gửi email cho tôi holmes2870 @ yahoo.com Tôi mới đến nên có sự kiên nhẫn này ... Cảm ơn bạn David H –