闪烁摄像头灯!


9

这项挑战的灵感来自齐柏林飞艇(Zeppelin)的闪烁大写锁定CAPS LOCK)

大多数网络摄像头都带有一个小的集成LED灯,用于指示是否正在使用网络摄像头,这是由硬件机制控制的,以防止间谍活动。

您的任务是使其闪烁:

  1. 打开它。
  2. 等待0.5(±0.1)秒。
  3. 再次关闭它。
  4. 等待0.5(±0.1)秒;
  5. 重复。

如果可能的话,请提供GIF或网络摄像头闪烁的视频。如果答案没有GIF,请添加正在运行的程序的GIF。

规则

  • 如果您的语言缺少亚秒级sleep命令,则您的程序可能会使用1秒的延迟,但会增加一个字节。(替换.51
    • 如果由于某种原因您的语言不支持.5,您的罚款为2个字节。(替换0.51
  • 您的程序必须循环执行,除非用户暂停。
  • 您的LED可以点亮或熄灭;可以使用哪个更有利。
  • 如果您的LED有关闭延迟,则不必考虑它,除非您要提供其他版本。

计分

这是 ,这意味着以字节为单位的最短答案将获胜。


2
停止访问视频设备后,笔记本电脑的摄像头LED指示灯需要一段时间(似乎约为0.3秒)关闭。是否必须考虑到这一点?
门把手

@Doorknob否,但是您可以提供一个将其考虑在内的版本。
haykam

1
罚金只能是1个字节,因为您只能使用.5
Elronnd

@Elronnd我要补充一点,但是我忘了。
haykam '17

Answers:


8

MATLAB,40个字节

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

创建一个无限while循环,每次循环,webcam都会初始化一个对象(打开网络摄像头),使用将该脚本暂停0.5秒pause,然后webcam删除该对象(关闭网络摄像头)。

在此处输入图片说明


2
每次眨眼之间的延迟大于0.5
haykam

2
@haykam指示(和注释)表明,除非我误读了硬件,否则由于硬件的不正确是可以接受的。
Suever

好吧...您介意添加一个额外的高尔夫球,使其看起来像0.5秒吗?
haykam

4
@haykam这是不可能的,这是MATLAB的局限性(可能还有硬件本身)。我已经在显示它正在关闭并重新打开的速度。
Suever

最后一次提示音很好
haykam '17

7

Python,82个字节

(使用OpenCV访问网络摄像头。)

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

在此处输入图片说明


4

Javascript(ES6),100字节

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

在测试过程中,我发现相机启动与LED开启之间存在延迟,因此计时可能并不完美。它还必须在https://页面上运行。


@haykam感谢您的编辑,但是由于某些原因,此脚本在片段iframe沙箱中无法正常工作
nderscore

好吧。我不会发动编辑战争。;)
haykam

0

暂存区scratch2,61个字节

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

很抱歉这部影片绝对糟糕。我的LED点亮时间略有延迟,非常微弱,GIF为18 MB。

gif


@JonathanFrech我看了一些Scratch答案,它们似乎都使用了scratchblocks2。其次,我在做什么挑战?
WK

“请尽可能添加一个GIF或网络摄像头闪烁的视频。如果答案没有该GIF,请添加一个正在运行的程序的GIF。” 我将其他所有内容都包括在内。
WK

你是对的。我很少看到Scratch的答案,但是您的答案似乎同时满足当前的字节数共识和特定于挑战的规则。对不起,我的部分不知情的评论很抱歉。
乔纳森·弗雷希
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.