예제 #1
0
def toggle_flashlight():
    AVCaptureDevice = ObjCClass('AVCaptureDevice')
    device = AVCaptureDevice.defaultDeviceWithMediaType_('vide')
    if not device.hasTorch():
        raise RuntimeError('Device has no flashlight')
    mode = device.torchMode()
    device.lockForConfiguration_(None)
    device.setTorchMode_((mode + 1) % 2)
    device.unlockForConfiguration()
예제 #2
0
def flash_signals(kana, span):
    AVCaptureDevice = ObjCClass('AVCaptureDevice')
    device = AVCaptureDevice.defaultDeviceWithMediaType_('vide')
    if not device.hasTorch():
        raise RuntimeError('Device has no flashlight')
    mode = device.torchMode()
    counts = _to_counts(kana)
    device.lockForConfiguration_(None)
    for s in counts:
        if int(s) != 0:
            device.setTorchMode_(1)
            time.sleep(int(s) * span)
        device.setTorchMode_(0)
        time.sleep(span)
    device.unlockForConfiguration()
예제 #3
0
def toggle_flashlight():
    AVCaptureDevice = ObjCClass('AVCaptureDevice')
    device = AVCaptureDevice.defaultDeviceWithMediaType_('vide')
    if not device.hasTorch():
        raise RuntimeError('Device has no flashlight')
    mode = device.torchMode()
    device.lockForConfiguration_(None)
    if device.torchMode() > 0:
        device.setTorchMode_((mode + 1) % 2)
    else:
        a = [1.0, 0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1]

        for each in a:

            device.setTorchModeOnWithLevel_error_(each, None)
            print('level ' + str(each))
            time.sleep(.6)

        #device.setTorchModeOnWithLevel_error_(0.88, None)

    device.unlockForConfiguration()