Блимати світло веб-камери!


9

Цей виклик натхненний Blink the CAPS LOCK від zeppelin .

Більшість веб-камер мають невеликий інтегрований світлодіодний індикатор, який вказує, чи веб-камера використовується, як це контролюється апаратним механізмом для запобігання шпигунству.

Ваше завдання - це моргати:

  1. Увімкніть його.
  2. Зачекайте 0,5 (± 0,1) секунди.
  3. Вимкніть його знову.
  4. Зачекайте 0,5 (± 0,1) секунди;
  5. Повторіть.

Будь ласка, включіть GIF або відео, коли веб-камера блимає, якщо це можливо. Якщо у відповіді немає GIF, додайте GIF програми, що працює.

Правила

  • Якщо у вашій мові відсутня sleepкоманда підсекунди , ваша програма може використати натомість затримку на 1 секунду, в розмірі додаткового байту. (замінюючи .5на 1)
    • Якщо ваша мова з якихось причин не підтримує .5, ваш штраф становить 2 байти. (замінюючи 0.5на 1)
  • Ваша програма повинна циклічно, якщо її не зупинив користувач.
  • Ваш світлодіод може запускатися або вимикатися; який корисніший може бути використаний.
  • Якщо ваш світлодіод має затримку вимкнення, його не потрібно враховувати, якщо тільки ви не хочете надати додаткову версію.

Оцінка балів

Це є , що означає найкоротшу відповідь у байтах.


2
Світлодіодний веб-камера мого ноутбука займає деякий час (приблизно 0,3 секунди), після того, як відеопристрій перестає отримувати доступ. Чи потрібно це враховувати?
Дверна ручка

@Doorknob Ні, але ви можете надати версію, яка враховує його, якщо хочете.
haykam

1
Штраф повинен становити лише 1 байт, оскільки ви можете просто скористатися.5
Елронд

@Elronnd Я збирався додати це, але забув.
хайкам

Відповіді:


8

MATLAB, 40 байт

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

Створюється нескінченний whileцикл і кожного разу через цикл webcamоб'єкт ініціалізується (включається веб-камера), сценарій призупиняється на 0,5 секунди за допомогою pause, а потім webcamоб’єкт видаляється (вимикаючи веб-камеру).

введіть тут опис зображення


2
Затримка між кожним морганням перевищує 0,5
хайкам

2
@haykam Вказівки (та коментарі) вказують, що неточності, пов’язані з обладнанням, є прийнятними, якщо я їх неправильно не читаю.
Suever

Гаразд ... Ви не заперечуєте, можливо, додавши додатковий гольф, який це робить, щоб він виглядав як 0,5 сек?
хайкам

4
@haykam Це неможливо, це обмеження MATLAB (а може бути і самого обладнання). Я вже показую, що його вимикають і вмикають як можна швидше.
Suever

Останній звуковий сигнал був хорошим
haykam

7

Пітон, 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))()

Під час тестування я помітив затримку між активацією камери та включенням світлодіода, тому час може бути не ідеальним. Він також повинен працювати на сторінці https: //.


@haykam дякую за редагування, але чомусь цей сценарій не працює всередині фрагмента
пісочної рамки

Добре тоді. Я не почну редагувати війну. ;)
хайкам

0

Скретч в скретчблоках2, 61 байт

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

Вибачте за абсолютно жахливе відео. Мій світлодіод має невелику затримку включення, він дуже слабкий, а GIF - 18 Мб.

gif


@JonathanFrech Я переглянув деякі відповіді на Scratch, і всі вони, здається, використовують скретчблоки2. По-друге, я робив те, що вимагав виклик?
ВК

"Будь ласка, додайте GIF або відео, коли веб-камера блимає, якщо це можливо. Якщо у відповіді немає GIF, додайте GIF програми, що працює." Я включив все інше вище цього.
ВК

Ти правий. Я рідко бачу відповідь Scratch, але виявляється, що ваша відповідь відповідає як поточному консенсусу щодо кількості байтів, так і правилам, що стосуються викликів. Вибачте за мою частково неінформовану критику.
Джонатан Фрех
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.