Clignote la lumière de la webcam!

9

Ce défi est inspiré de Blink the CAPS LOCK de zeppelin .

La plupart des webcams disposent d'une petite lumière LED intégrée, indiquant si la webcam est utilisée, contrôlée par un mécanisme matériel pour empêcher l'espionnage.

Votre tâche consiste à le faire clignoter:

  1. Allume ça.
  2. Attendez 0,5 (± 0,1) seconde.
  3. Éteignez-le à nouveau.
  4. Attendez 0,5 (± 0,1) seconde;
  5. Répéter.

Veuillez inclure un GIF ou une vidéo de la webcam clignotant, si possible. Si une réponse n'a pas le GIF, veuillez ajouter un GIF du programme en cours d'exécution.

Règles

  • Si votre langue manque une sleepcommande de sous- seconde , votre programme peut utiliser un délai de 1 seconde à la place, à une pénalité d'un octet supplémentaire. (remplaçant .5par 1)
    • Si votre langue, pour une raison quelconque, ne prend pas en charge .5, votre pénalité est de 2 octets. (remplaçant 0.5par 1)
  • Votre programme doit boucler à moins qu'il ne soit arrêté par l'utilisateur.
  • Votre LED peut démarrer soit sous tension soit hors tension; celui qui est le plus bénéfique peut être utilisé.
  • Si votre LED a un délai d'extinction, il ne doit pas être pris en compte, sauf si vous souhaitez fournir une version supplémentaire.

Notation

C'est le , ce qui signifie que la réponse la plus courte en octets gagne.

Haykam
la source
2
Le voyant de la webcam de mon ordinateur portable met un certain temps (environ 0,3 seconde, semble-t-il) à s'éteindre une fois que le périphérique vidéo cesse d'être accessible. Faut-il en tenir compte?
Poignée de porte
@Doorknob Non, mais vous pouvez fournir une version qui en tient compte si vous le souhaitez.
haykam
1
La pénalité ne devrait être que de 1 octet, car vous pouvez simplement utiliser.5
Elronnd
@Elronnd J'allais ajouter ça, mais j'ai oublié.
haykam

Réponses:

8

MATLAB, 40 octets

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

Crée une whileboucle infinie et chaque fois à travers la boucle, un webcamobjet est initialisé (allume la webcam), le script est mis en pause pendant 0,5 seconde en utilisant pause, puis l' webcamobjet est supprimé (éteindre la webcam).

entrez la description de l'image ici

Suever
la source
2
Le délai entre chaque clignotement est supérieur à 0,5
haykam
2
@haykam Les instructions (et commentaires) indiquent que les inexactitudes dues au matériel sont acceptables, sauf si je les lis mal.
Suever
Ok ... ça vous dérange peut-être d'ajouter un golf supplémentaire qui le fait pour qu'il ressemble à 0,5 s?
haykam
4
@haykam C'est impossible, c'est une limitation de MATLAB (et peut-être du matériel lui-même). Je montre déjà qu'il est éteint et rallumé le plus rapidement possible.
Suever
Le dernier bip était bon
haykam
7

Python, 82 octets

(Utilise OpenCV pour accéder à la webcam.)

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

entrez la description de l'image ici

pzp
la source
4

Javascript (ES6), 100 octets

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

Pendant mes tests, j'ai vu un délai entre l'activation de la caméra et l'allumage de la LED, donc le timing peut ne pas être parfait. Il doit également s'exécuter sur une page https: //.

nderscore
la source
@haykam merci pour la modification, mais pour une raison quelconque, ce script ne fonctionne pas dans le sandbox d'extrait d'iframe
nderscore
Alors ok. Je ne déclencherai pas de guerre d'édition. ;)
haykam
0

Scratch in scratchblocks2, 61 octets

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

Désolé pour la vidéo absolument terrible. Ma LED a un léger délai d'allumage, elle est très faible et le GIF est de 18 Mo.

gif

WK
la source
@JonathanFrech J'ai jeté un coup d'œil à quelques réponses Scratch et elles semblent toutes utiliser scratchblocks2. Deuxièmement, je faisais ce que le défi exigeait?
WK
"Veuillez inclure un GIF ou une vidéo de la webcam clignotant, si possible. Si une réponse n'a pas le GIF, veuillez ajouter un GIF du programme en cours d'exécution." J'ai inclus tout le reste au-dessus.
WK
Tu as raison. Je vois rarement une réponse Scratch, mais il semble que votre réponse satisfasse à la fois le consensus actuel sur le nombre d'octets et les règles spécifiques au défi. Désolé pour ma critique partiellement non informée.
Jonathan Frech