当脚本执行准备就绪时,如何播放声音?

当脚本执行准备就绪时,如何播放声音?

我时不时地执行一些需要很长时间才能执行的Python脚本。

我这样执行它们: $ time python MyScript.py

如何在脚本执行完成后立即播放声音?

我使用 Ubuntu 10.10(Gnome 桌面)。

答案1

附加任何播放声音的命令;这可能很简单

$ time mycommand; printf '\7'

或复杂如

$ time mycommand && paplay itworked.ogg || paplay bombed.ogg

(命令假定已安装pulseaudio;替换您的声音播放器,这取决于您的桌面环境。)

答案2

spd-say

sleep 2; spd-say 'get back to work'

-w如果您需要额外的动力,则无限循环:

sleep 2; while true; do spd-say -w 'get back to work'; done

或者如果你更喜欢胡萝卜:

sleep 2; while true; do spd-say -t female1 -w "I'm done, come back to me, darling"; done

通过软件包预安装在 14.04 上speech-dispatcherhttp://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest我想对于盲人来说?

还添加一个弹出窗口

这个组合是一个救星(b代表beep):

b() ( spd-say 'done'; zenity --info --text "$(date);$(pwd)" & )

进而:

super-slow-command;b

如果我在房间的某个地方,我会听到声音并知道漫长的工作已经完成。

否则,当我返回计算机时,我会看到弹出窗口。

有关的:https://stackoverflow.com/questions/7035/how-to-show-a-gui-message-box-from-a-bash-script-in-linux

答案3

只需在硬盘上选择一个声音,然后在您正在等待的命令之后输入一个命令即可播放该声音;它们将按顺序发生:

$ time python MyScript.py; mplayer ~/ScriptDone.wav

(当然,您可以使用任何播放器)。我有一个名为 的脚本alertdone,在运行时会发出提示音并显示 libnotify 警报;我正是在这个场合使用它:

$ time python MyScript.py; alertdone "Done timing"

它非常简单,所以如果你想自己制作,你可以以此为基础(我的需要notify-moremplayer~/tones/alert_1.wav):

#!/bin/bash
message=${1:-"Finished working"}
notify-more -t 10000 -i /usr/share/icons/gnome/32x32/actions/insert-object.png "Process Finished" "$message"
mplayer ~/tones/alert_1.wav

答案4

就我个人而言,我使用my-script && notify-send "done".这会发送一个桌面通知,在 Linux Mint(Cinnamon) 上如下所示:

在此输入图像描述

相关内容