Portál AbcLinuxu, 6. května 2024 08:15


Dotaz: Vylepšení Function Countdown

2.1.2015 16:26 martin
Vylepšení Function Countdown
Přečteno: 430×
Odpovědět | Admin
Jak to udělat, aby v následujícím pěkném kousku kódu:

1) se čas zadával v minutách (místo sekund)

2) aby to po uplynutí zadaného času udělalo beep ?

function countdown(){

date1=$((`date +%s` + $1));

while [ "$date1" -ne `date +%s` ]; do

echo -ne "$(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r";

sleep 0.1

done

}

Tedy po zadání :

countdown 60

aby to po uplynutí 60 min zaznělo beep .

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 2.1.2015 20:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pozor, unixtime není kvůli přestupným sekundám lineární. Tvůj kód tedy nebude fungovat.
1) se čas zadával v minutách (místo sekund)
Násobení, Minuta
2) aby to po uplynutí zadaného času udělalo beep ?
aplay(1)
Já to s tou denacifikací Slovenska myslel vážně.
2.1.2015 22:00 nobody
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
aplay - simuluje beep na zvukovce
beep - provede beep na speakeru
3.1.2015 00:28 lada
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Jo, jo. Tak tak.
3.1.2015 01:14 MadCatX
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Odpovědět | | Sbalit | Link | Blokovat | Admin
Předpokládá GStreamer a PulseAudio
#! /bin/bash

if [ -z $1 ]; then
  exit 1
fi
let $1 || exit 1

wait=$1."m"
sleep $wait

gst-launch-1.0 audiotestsrc wave=0 freq=400 ! audioconvert ! pulsesink 1>/dev/null &
pid=$!
sleep 1
kill -s 2 $pid
Jendа avatar 3.1.2015 01:44 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
blob=$(while true; do for i in `seq 1 5`; do echo -e "\0377"; done; for i in `seq 1 5`; do echo -e "\000"; done; done | head -c 8000); echo "$blob" | aplay
Jendа avatar 3.1.2015 01:47 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
while true; do echo -e "\0377\0377\0377\0377\0377\0377\0377"; echo -e "\000\000\000\000\000\000"; done | head -c 8000 | aplay
Josef Kufner avatar 6.1.2015 23:27 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Nebo i jednodušeji (trošku jiný zvuk):
yes $'\xaa\1\1\xaa\1\xaa\1\xaa\1\1\1\1\xff\xff\1\xaa\1\1\1' \
| head -c 4000 | aplay
Hello world ! Segmentation fault (core dumped)
7.1.2015 12:54 erik
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Obávám se, že konkrétní způsob generování zvuku ani moc nebyl součástí dotazu, nicmémě široké možností dává:

aplay beep.wav

kde různých beep zvuků jsou na netu minimálně tisíce.
Josef Kufner avatar 7.1.2015 23:52 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
To je příliš nudné řešení ;-)
Hello world ! Segmentation fault (core dumped)
8.1.2015 15:15 archibald
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Především to není vůbec žádné řešení. Tazatel se asi neptal jak vyloudit zvuk, ale spíš jak tu funkci obohatit. Čili na který řádek kódu to aplay napsat, popř. co přesně v kódu změnit, doplnit apod.
4.1.2015 03:00 martin
Rozbalit Rozbalit vše Re: Vylepšení Function Countdown
Bash script od MadCatX funguje krásně ! Díky MadCatX ! Prosím označit jako řešení script od MadCatX.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.