0 votos

No se puede establecer la hora de finalización para las pistas seleccionadas en la aplicación de música

Pregunta:

Estoy intentando usar AppleScript para establecer automáticamente las horas de inicio y de finalización de las pistas seleccionadas en la aplicación de Música de macOS. Mientras que la hora de inicio se establece correctamente en 10 segundos, la hora de finalización no se aplica.

Este es el código que estoy utilizando:

tell application "Music"
    set selectedTracks to selection
    repeat with aTrack in selectedTracks
        set trackDuration to (duration of aTrack) / 1000 -- Duración en segundos
        set start of aTrack to 10.0 -- Establecer la hora de inicio en 10 segundos
        set finish of aTrack to (trackDuration - 10.0) -- Establecer la hora de finalización 10 segundos antes del final
    end repeat
end tell

El problema es que la hora de inicio se establece correctamente, pero la hora de finalización no cambia y la casilla de "Detener" no está marcada en la pestaña de Opciones de la información de la pista. ¿Cómo puedo establecer correctamente la hora de finalización y asegurarme de que la casilla esté activada?

¡Cualquier ayuda o consejo sería apreciado!

Soy principiante y he usado ChatGPT. Trabajo en macOS 15.0 Sequoia Beta, Música 1.5.0.174

1voto

Zuano Puntos 11

Solución:

Gracias por la retroalimentación, y tenías razón—no era necesario dividir la duración por 1000. La propiedad duración en AppleScript para la aplicación de Música devuelve el tiempo en segundos, no milisegundos.

Aquí está el AppleScript actualizado y funcionando:

tell application "Music"
    set selectedTracks to selection
    repeat with aTrack in selectedTracks
        -- Obtener la duración de la pista (en segundos, no es necesario dividir por 1000)
        set trackDuration to duration of aTrack

        -- Establecer el inicio en 10 segundos
        set start of aTrack to 10

        -- Establecer la hora de parada 10 segundos antes del final
        set finish of aTrack to (trackDuration - 10)
    end repeat
end tell

Cambios:

  • Se eliminó la división por 1000, ya que la duración ya se devuelve en segundos.
  • Los tiempos de inicio y fin se establecen directamente usando segundos.

¡Este script funciona perfectamente ahora! Gracias de nuevo por señalar el error.


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