1 votos

¿Es posible activar el efecto de sonido incorporado en la papelera a través de AppleScript?

Si uno mueve cualquier archivo a la carpeta de la Papelera en un Mac, por defecto, se reproduce un breve efecto de sonido a través de la salida de audio del Mac (suponiendo que el audio del sistema no haya sido silenciado).

Tengo un archivo .scpt en el que realmente no se mueve nada a la carpeta de la Papelera, pero me gustaría que se reprodujera el efecto de sonido de la Papelera.

Entiendo que puedo descargar el efecto de sonido en mi ordenador como un archivo de audio desde Internet, y escribir:

do shell script "afplay /Users/Me/Desktop/TrashSoundEffect.aiff"

Sin embargo, prefiero hacer referencia al incorporado Efecto de sonido de la basura. ¿Es posible?

Simplemente no me gusta la idea de tener que depender de un archivo adicional para que mi AppleScript funcione correctamente. El efecto de sonido incorporado es más fiable, ya que está garantizado que permanecerá en mi ordenador indefinidamente.

4voto

user3439894 Puntos 5883

¿Qué tal este?

do shell script "afplay '/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/dock/drag to trash.aif'"

Actualización:

Para responder a su comentario, esto se trata en Nota técnica TN2065 - do shell script en AppleScript en Otras preocupaciones donde dice:

"... ¿cómo hago para que do shell script no espere hasta que el comando se complete?"

Utilice do shell script \"command &> file_path &\" . do shell script volverá inmediatamente sin resultado y su AppleScript script se ejecutará en paralelo con su shell script. La salida del shell script irá a file_path; si no le interesa la salida, utilice /dev/null .

Ejemplo:

do shell script "afplay '/System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/dock/drag to trash.aif' &> /dev/null &"

0 votos

Funciona muy bien. Observo que el script queda "en pausa" hasta que el efecto de sonido termina por completo. ¿Sabes cómo hacer que el script pase a la siguiente línea en cuanto se dispare tu línea? En otras palabras, ¿es posible tener un without waiting for completion -para el efecto del tipo afplay ¿comando?

0 votos

Tal vez un try ¿Bloque? [sólo una suposición, nunca lo he probado].

0 votos

Esfera de @rubik, he actualizado la respuesta para cubrir tu comentario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X