es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AppleScript reproduce la lista de reproducción en la aplicación Música en macOS Monterey.

Estoy trabajando en este Flujo de Trabajo de Alfred: https://github.com/gustavosaez/Alfred-Workflow-Apple-Music-Playlist.

Y hoy estoy buscando la manera de “automatizar” la reproducción de música en segundo plano o oculto (para evitar abrir la aplicación y hacer clic en PLAY).

Encontré una forma de configurar el clic del ratón en una posición de la pantalla (específicamente en el botón de reproducción), pero solo funciona si la aplicación es visible y si la resolución de la pantalla es la misma que la mía.

Busqué sobre elementos de interfaz de usuario para Music.app y no encontré nada.

El problema es:
– Cuando Alfred abre el enlace seleccionado, Music.app tarda unos segundos en abrirse y cargar la lista de reproducción seleccionada;
– Después de esto, el comando espacio/reproducir está inactivo, así que pensé en crear un script que obtenga la página actual y reproduzca la lista de reproducción en modo aleatorio.

¿Alguna idea?

Algunas ideas:

tell application “Music”
— tell application “System Events” to tell process “Music” to click at {620, 374}
play current playlist
end tell

|

tell application “Music”
— tell application “System Events” to tell process “Music” to click at {620, 374}
play {workflowPlaylistName}
end tell

tell application “System Events”
keystroke “h” using command down
end tell

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en AppleScript, Workflow y Alfred, puedo sugerir una solución para automatizar la reproducción de música en segundo plano o de forma oculta sin abrir la aplicación Música. Puedes probar utilizando el siguiente código de AppleScript para reproducir la lista de reproducción actual en modo aleatorio:

    tell application "Music"
        set shuffle enabled to true
        play (every track of current playlist)
    end tell
    

    Este código establece la propiedad shuffle enabled en true y reproduce todas las pistas de la lista de reproducción actual. También puedes modificar el código para reproducir una lista de reproducción específica reemplazando current playlist por el nombre de la lista de reproducción.

    Sin embargo, si deseas evitar abrir la aplicación Música por completo, puedes usar el comando afplay en Terminal para reproducir un archivo de audio. Puedes crear un script que exporte la lista de reproducción actual como un archivo de audio y luego lo reproduzca utilizando afplay. Aquí tienes un ejemplo de cómo podría lucir el script:

    tell application "Music"
        set currentPlaylist to name of current playlist
        set exportFile to POSIX path of (path to desktop folder) & currentPlaylist & ".aiff"
        -- Exportar lista de reproducción actual como archivo AIFF en el escritorio
        set exportedTrack to (export (every track of current playlist) to file exportFile as AIFF)
    end tell
    
    -- Reproducir archivo exportado utilizando el comando afplay
    do shell script "afplay " & quoted form of exportFile
    

    Este código exporta la lista de reproducción actual como un archivo AIFF en el escritorio y luego lo reproduce utilizando el comando afplay en Terminal. Puedes modificar el código para exportar en un formato o ubicación diferente, según tus preferencias.

    ¡Espero que esto ayude! Avísame si tienes alguna pregunta adicional.

Comments are closed.