Estoy intentando agregar sonido a un script de Perl para alertar al usuario de que la transacción fue correcta (es posible que el usuario no esté mirando la pantalla todo el tiempo mientras trabaja). Me gustaría mantenerme lo más portátil posible, ya que la secuencia de comandos se ejecuta en las estaciones de Windows y Linux.
que puedaReproducción de sonido en el script de Perl
use Win32::Sound;
Win32::Sound::Play('SystemDefault',SND_ASYNC);
para Windows. Pero no estoy seguro de cómo llamar a un sonido genérico en Linux (Gnome). Hasta el momento, se me ha ocurrido con
system('paplay /usr/share/sounds/gnome/default/alert/sonar.ogg');
Pero no estoy seguro de si puedo contar con ese camino que está disponible.
Así, tres preguntas:
- ¿Hay una mejor manera de llamar a un sonido por defecto en Gnome
- ¿Es ese camino bastante universales (al menos entre los sabores Debain/Ubuntu)
paplay
toma un tiempo para salir después de reproducir un sonido, ¿hay una mejor manera de llamarlo?
Prefiero no tocar el parlante del sistema, suena horrible (esto va a jugar mucho) y las listas negras de Ubuntu de todos modos.
Gracias!
Estaba pensando en 'fork', pero no estaba seguro de si eso causaría más problemas al ser llamado repetidamente. Lo probaré. ¡Gracias! – charlesbridge
Además, me refiero a la ruta a un archivo de sonido con el que puedo contar para estar disponible para jugar (no 'paplay'). Pero creo que es la misma idea, simplemente (-R $ ruta) hasta que encuentre uno que funcione. – charlesbridge
También, estoy escribiendo esto en Perl/Tk. 'fork' tiene que llamar explícitamente a' CORE :: exit() 'o' POSIX :: _ exit() 'o suceden cosas horribles. – charlesbridge