Lampeggia la luce della webcam!


9

Questa sfida è ispirata a Blink the CAPS LOCK di zeppelin .

La maggior parte delle webcam dispone di una piccola luce a LED integrata, che indica se la webcam è in uso, come controllata da un meccanismo hardware per impedire lo spionaggio.

Il tuo compito è di battere le palpebre:

  1. Accendilo.
  2. Attendere 0,5 (± 0,1) secondi.
  3. Spegnilo di nuovo.
  4. Attendere 0,5 (± 0,1) secondi;
  5. Ripetere.

Si prega di includere una GIF o un video del lampeggiamento della webcam, se possibile. Se una risposta non ha la GIF, si prega di aggiungere una GIF del programma in esecuzione.

Regole

  • Se nella tua lingua manca un sleepcomando di un secondo , il tuo programma potrebbe usare un ritardo di 1 secondo, a pena di un byte aggiuntivo. (sostituendo .5con 1)
    • Se la tua lingua, per qualche motivo, non supporta .5, la tua penalità è di 2 byte. (sostituendo 0.5con 1)
  • Il programma deve essere ripetuto a meno che non venga interrotto dall'utente.
  • Il LED può essere acceso o spento; qualunque sia il più vantaggioso può essere utilizzato.
  • Se il LED ha un ritardo di spegnimento, non è necessario tenerne conto, a meno che non si desideri fornire una versione aggiuntiva.

punteggio

Questo è , il che significa che la risposta più breve in byte vince.


2
Il LED della webcam del mio laptop impiega un po '(circa 0,3 secondi, a quanto pare) per spegnersi dopo che il dispositivo video ha smesso di accedere. Questo deve essere preso in considerazione?
Maniglia della porta

@Doorknob No, ma puoi fornire una versione che ne tenga conto, se lo desideri.
Hayakam,

1
La penalità dovrebbe essere solo di 1 byte, dato che puoi semplicemente usare.5
Elronnd

@Elronnd stavo per aggiungerlo, ma mi sono dimenticato.
Hayakam

Risposte:


8

MATLAB, 40 byte

while 1;w=webcam;pause(.5);delete(w);end

Crea un whileloop infinito e ogni volta attraverso il loop, un webcamoggetto viene inizializzato (accende la webcam), lo script viene messo in pausa per 0,5 secondi usando pause, quindi l' webcamoggetto viene eliminato (spegnendo la webcam).

inserisci qui la descrizione dell'immagine


2
Il ritardo tra ogni battito di ciglia è superiore a 0,5
haykam,

2
@haykam Le indicazioni (e i commenti) indicano che le imprecisioni dovute all'hardware sono accettabili a meno che non le stia leggendo male.
Suever,

Ok ... ti dispiace forse aggiungere un altro golf che lo fa in modo che sembri 0,5s?
Hayakam,

4
@haykam È impossibile, è una limitazione di MATLAB (e forse dell'hardware stesso). Sto già mostrando che viene spento e riacceso il più velocemente possibile.
Suever,

L'ultimo segnale acustico è stato buono
haykam,

7

Python, 82 byte

(Utilizza OpenCV per accedere alla webcam.)

import cv2,time
s=time.sleep
while 1:w=cv2.VideoCapture(0);s(.5);w.release();s(.5)

inserisci qui la descrizione dell'immagine


4

Javascript (ES6), 100 byte

(f=_=>navigator.getUserMedia({video:1},x=>s(_=>x.getTracks()[0].stop(s(f,500)),500),s=setTimeout))()

Durante i miei test, ho visto un ritardo tra l'attivazione della fotocamera e l'accensione del LED, quindi il tempismo potrebbe non essere perfetto. Inoltre, deve essere eseguito su una pagina https: //.


@haykam grazie per la modifica, ma per qualche ragione questo script non funziona all'interno della sandbox iframe dello snippet
nderscore

Va bene allora. Non inizierò una guerra di modifica. ;)
Hayakam,

0

Scratch in scratchblocks2, 61 byte

when gf clicked
turn video[on v
wait(.5)secs
turn video[off v

Mi dispiace per il video assolutamente terribile. Il mio LED ha un leggero ritardo di accensione, è molto debole e la GIF è di 18 MB.

gif


@JonathanFrech Ho dato un'occhiata ad alcune risposte di Scratch e tutte sembrano usare scratchblocks2. In secondo luogo, stavo facendo ciò che la sfida richiedeva?
WK,

"Se possibile, includere una GIF o un video del lampeggiamento della webcam. Se una risposta non ha la GIF, si prega di aggiungere una GIF del programma in esecuzione." Ho incluso tutto il resto sopra di esso.
WK,

Hai ragione. Raramente vedo una risposta Scratch ma sembra che la tua risposta soddisfi sia il consenso del conteggio dei byte corrente sia le regole specifiche della sfida. Ci scusiamo per la mia critica parzialmente non informata.
Jonathan Frech,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.