有人能帮帮我吗?我需要一个 bash 脚本来播放一个简短的声音文件,等待 30 秒,播放另一个声音文件,再等待 30 秒。
(我将用它作为提醒,在使用电动牙刷时,在每个牙齿象限上花 30 秒的时间。)
mpg123 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
sleep 30
mpg123 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
sleep 30
mpg123 /usr/share/sounds/My_Sounds/facility-alarm.mp3
sleep 30
但它只播放第一个声音文件。??
答案1
(当我使用电动牙刷时,我会用它作为刷每个牙齿象限的提醒。)
我不得不说,这是我听过的最奇怪的原因之一(如今的电动牙刷都有内置定时器):D ... 可能,你更希望你的计算机也能像这样给你语音指令:
{
t=$(date +"%s")
while true
do
n=$(date +"%s")
((n<=(t+30))) && spd-say -w 'Brush Upper Left Quadrant'
((n>(t+30) && n<=(t+60))) && spd-say -w 'Brush Upper Right Quadrant'
((n>(t+60) && n<=(t+90))) && spd-say -w 'Brush Lower Left Quadrant'
((n>(t+90) && n<=(t+120))) && spd-say -w 'Brush Lower Right Quadrant'
((n>(t+120))) && break
done
}
或者让它不那么喋喋不休,像这样:
{
f=(
'Brush Upper Left Quadrant'
'Brush Upper Right Quadrant'
'Brush Lower Left Quadrant'
'Brush Lower Right Quadrant'
'Congratulations, mission accomplished'
)
for i in {0..4}
do
spd-say -w "${f[$i]}"
[ "$i" -lt 4 ] && sleep 30
done
}
或者使用timeout
使用你的播放器和音频文件命令如下:
{
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3
timeout 30 mpg123 --loop -1 /usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3
}
{
f=(
'/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
'/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
'/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
'/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
)
for i in {0..3}
do
mpg123 --loop -1 "${f[$i]}" &> /dev/null & p="$!"
sleep 30
kill "$p"
done
}
或者播放每个文件一次然后等待 30 秒并转到下一个文件,如下所示:
{
f=(
'/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
'/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
'/usr/share/sounds/My_Sounds/Alarm_Clock_Sound.mp3'
'/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3'
)
for i in {0..3}
do
mpg123 "${f[$i]}" &> /dev/null
[ "$i" -lt 3 ] && sleep 30
done
}
答案2
几年前,我在这里发布了一个 bash 脚本询问 Ubuntu解决多计时器问题:
但是,它只允许在所有警报上使用一个自定义声音文件。
从那时起,我编写了一个可以在任何设备上的 Chrome 或 Firefox 浏览器上运行的 Javascript 版本:
这次重大改写的好处是,你可以在智能手机上运行计时器,并将其带到洗手间。当然,它运行在 Ubuntu 上,但将电脑拖到水槽边刷牙并不理想。
另一个优点是提姆塔您可以上传无限数量的自定义声音文件,并为每个计时器挑选文件。