Blink das Webcam Licht!


9

Diese Herausforderung ist inspiriert von Blink the CAPS LOCK von Zeppelin .

Die meisten Webcams verfügen über ein kleines integriertes LED-Licht, das anzeigt, ob die Webcam verwendet wird. Dies wird durch einen Hardwaremechanismus gesteuert, um Spionage zu verhindern.

Ihre Aufgabe ist es, es zu blinken:

  1. Mach es an.
  2. Warten Sie 0,5 (± 0,1) Sekunden.
  3. Schalten Sie es wieder aus.
  4. Warten Sie 0,5 (± 0,1) Sekunden.
  5. Wiederholen.

Bitte fügen Sie nach Möglichkeit ein GIF oder ein Video der blinkenden Webcam bei. Wenn eine Antwort kein GIF enthält, fügen Sie bitte ein GIF des laufenden Programms hinzu.

Regeln

  • Wenn in Ihrer Sprache ein sleepBefehl für die zweite Sekunde fehlt , verwendet Ihr Programm möglicherweise eine Verzögerung von 1 Sekunde, wobei ein zusätzliches Byte erforderlich ist. (ersetzen .5durch 1)
    • Wenn Ihre Sprache aus irgendeinem Grund nicht unterstützt wird .5, beträgt Ihre Strafe 2 Byte. (ersetzen 0.5durch 1)
  • Ihr Programm muss eine Schleife ausführen, sofern es nicht vom Benutzer angehalten wird.
  • Ihre LED kann entweder ein- oder ausgeschaltet werden. was vorteilhafter ist, kann verwendet werden.
  • Wenn Ihre LED eine Ausschaltverzögerung hat, muss diese nicht berücksichtigt werden, es sei denn, Sie möchten eine zusätzliche Version bereitstellen.

Wertung

Dies ist , was bedeutet, dass die kürzeste Antwort in Bytes gewinnt.


2
Es dauert eine Weile (anscheinend ungefähr 0,3 Sekunden), bis die Webcam-LED meines Laptops erlischt, nachdem auf das Videogerät nicht mehr zugegriffen wurde. Muss dies berücksichtigt werden?
Türknauf

@ Doorknob Nein, aber Sie können eine Version bereitstellen, die dies berücksichtigt, wenn Sie möchten.
Haykam

1
Die Strafe sollte nur 1 Byte .5
betragen

@Elronnd Ich wollte das hinzufügen, aber ich habe es vergessen.
Haykam

Antworten:


8

MATLAB, 40 Bytes

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

Erstellt eine whileEndlosschleife und jedes Mal, wenn die Schleife durchlaufen wird, wird ein webcamObjekt initialisiert (schaltet die Webcam ein), das Skript wird mit 0,5 Sekunden lang angehalten pauseund dann wird das webcamObjekt gelöscht (die Webcam wird ausgeschaltet).

Geben Sie hier die Bildbeschreibung ein


2
Die Verzögerung zwischen jedem
Blinken

2
@haykam Die Anweisungen (und Kommentare) zeigen an, dass Ungenauigkeiten aufgrund der Hardware akzeptabel sind, es sei denn, ich lese sie falsch.
Suever

Ok ... macht es Ihnen etwas aus, vielleicht ein zusätzliches Golfspiel hinzuzufügen, das es so macht, dass es wie 0,5s aussieht?
Haykam

4
@ Haykam Es ist unmöglich, es ist eine Einschränkung von MATLAB (und vielleicht der Hardware selbst). Ich zeige bereits, dass es so schnell wie möglich aus- und wieder eingeschaltet wird.
Suever

Der letzte Piepton war gut
Haykam

7

Python, 82 Bytes

(Verwendet OpenCV für den Zugriff auf die Webcam.)

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

Geben Sie hier die Bildbeschreibung ein


4

Javascript (ES6), 100 Bytes

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

Während meiner Tests habe ich eine Verzögerung zwischen dem Aktivieren der Kamera und dem Einschalten der LED festgestellt, sodass das Timing möglicherweise nicht perfekt ist. Es muss auch auf einer https: // Seite ausgeführt werden.


@ Haykam danke für die Bearbeitung, aber aus irgendeinem Grund funktioniert dieses Skript nicht in der Snippet-
Iframe-

OK dann. Ich werde keinen Editierkrieg beginnen. ;)
Haykam

0

Scratch in Scratchblocks2, 61 Bytes

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

Entschuldigung für das absolut schreckliche Video. Meine LED hat eine leichte Einschaltverzögerung, ist sehr schwach und das GIF ist 18 MB groß.

gif


@ JonathanFrech Ich habe mir einige Scratch-Antworten angesehen und alle scheinen Scratchblocks2 zu verwenden. Zweitens habe ich getan, was die Herausforderung erforderte?
WK

"Bitte fügen Sie nach Möglichkeit ein GIF oder ein Video der blinkenden Webcam bei. Wenn eine Antwort kein GIF enthält, fügen Sie bitte ein GIF des laufenden Programms hinzu." Ich habe alles andere darüber aufgenommen.
WK

Du hast recht. Ich sehe selten eine Scratch-Antwort, aber es scheint, dass Ihre Antwort sowohl dem aktuellen Konsens über die Anzahl der Bytes als auch den herausfordernden Regeln entspricht. Entschuldigung für meine teilweise uninformierte Kritik.
Jonathan Frech
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.