Kedip lampu webcam!

9

Tantangan ini terinspirasi oleh Blink the CAPS LOCK oleh zeppelin .

Sebagian besar fitur webcam lampu LED terintegrasi kecil, yang menunjukkan apakah webcam sedang digunakan, sebagaimana dikendalikan oleh mekanisme perangkat keras untuk mencegah mata-mata.

Tugas Anda adalah untuk membuatnya berkedip:

  1. Hidupkan.
  2. Tunggu 0,5 (± 0,1) detik.
  3. Matikan lagi.
  4. Tunggu 0,5 (± 0,1) detik;
  5. Ulang.

Harap sertakan GIF atau video webcam yang berkedip, jika memungkinkan. Jika jawaban tidak memiliki GIF, harap tambahkan GIF dari program yang sedang berjalan.

Aturan

  • Jika bahasa Anda tidak ada sleepperintah subsecond , program Anda mungkin menggunakan penundaan 1 detik sebagai gantinya, dengan penalti byte tambahan. (ganti .5dengan 1)
    • Jika bahasa Anda, karena alasan tertentu, tidak mendukung .5, penalti Anda adalah 2 byte. (ganti 0.5dengan 1)
  • Program Anda harus diulang kecuali dihentikan oleh pengguna.
  • LED Anda dapat mulai hidup atau mati; mana yang lebih bermanfaat dapat digunakan.
  • Jika LED Anda memiliki penundaan mematikan, maka itu tidak harus diperhitungkan, kecuali jika Anda ingin memberikan versi tambahan.

Mencetak gol

Ini adalah , yang berarti jawaban tersingkat dalam byte menang.

haykam
sumber
2
LED webcam laptop saya memerlukan waktu (tampaknya sekitar 0,3 detik) untuk dimatikan setelah perangkat video berhenti diakses. Apakah ini harus diperhitungkan?
Gagang Pintu
@ Dooorknob Tidak, tetapi Anda dapat memberikan versi yang memperhitungkannya jika Anda mau.
haykam
1
Penalti seharusnya hanya 1 byte, karena Anda bisa menggunakan.5
Elronnd
@ Elron saya akan menambahkan itu, tapi saya lupa.
haykam

Jawaban:

8

MATLAB, 40 byte

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

Membuat whileloop tak terbatas dan setiap kali melalui loop, webcamobjek diinisialisasi (menyalakan webcam), skrip dijeda selama 0,5 detik menggunakan pause, dan kemudian webcamobjek dihapus (mematikan webcam).

masukkan deskripsi gambar di sini

Suever
sumber
2
Penundaan antara setiap kedipan lebih dari 0,5
haykam
2
@haykam Petunjuk (dan komentar) menunjukkan bahwa ketidakakuratan karena perangkat keras dapat diterima kecuali saya salah membaca.
Suever
Ok ... apakah Anda keberatan menambahkan golf tambahan yang membuatnya terlihat seperti 0,5?
haykam
4
@haykam Tidak mungkin, ini adalah batasan MATLAB (dan mungkin perangkat kerasnya sendiri). Saya sudah menunjukkan itu dimatikan dan dihidupkan kembali secepat mungkin.
Suever
Bunyi
7

Python, 82 byte

(Menggunakan OpenCV untuk mengakses webcam.)

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

masukkan deskripsi gambar di sini

pzp
sumber
4

Javascript (ES6), 100 byte

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

Selama pengujian, saya melihat penundaan antara kamera sedang diaktifkan dan LED menyala, jadi waktunya mungkin tidak sempurna. Itu juga harus dijalankan pada halaman https: //.

nderscore
sumber
@haykam terima kasih untuk hasil editnya, tetapi karena beberapa alasan skrip ini tidak berfungsi di dalam snippet iframe sandbox
nderscore
Baiklah kalau begitu. Saya tidak akan memulai perang edit. ;)
haykam
0

Gores di scratchblocks2, 61 byte

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

Maaf tentang video yang benar-benar mengerikan. LED saya memiliki sedikit penundaan nyala, sangat redup, dan GIF adalah 18 MB.

gif

WK
sumber
@ JonathanFrech Saya telah melihat beberapa jawaban Scratch dan mereka semua tampaknya menggunakan scratchblocks2. Kedua, saya melakukan apa yang dibutuhkan tantangan?
WK
"Harap sertakan GIF atau video webcam yang berkedip, jika mungkin. Jika jawaban tidak memiliki GIF, harap tambahkan GIF dari program yang sedang berjalan." Saya memasukkan semua yang lain di atasnya.
WK
Kamu benar. Saya jarang melihat jawaban Awal tetapi tampaknya jawaban Anda memenuhi konsensus jumlah byte saat ini dan aturan khusus tantangan. Maaf untuk kritik saya yang tidak mendapat informasi sebagian.
Jonathan Frech