2 votos

¿Pueden los elementos del buscador de filtros de Automator procesar la música en función de su duración?

Quiero hacer un flujo de trabajo de Automator para encontrar ciertos archivos de audio en una carpeta, pero quiero que mire la duración de esos archivos. Estoy buscando muestras de audio bastante cortas de menos de 2 segundos. No parece tener la capacidad de filtrar por duración. ¿Hay alguna otra manera de lograr esto en Automator?

Como alternativa, puedo crear fácilmente una carpeta inteligente que contenga lo que busco, pero luego Automator no puede encontrar el contenido de dicha carpeta inteligente para poder manipularlo. ¿Hay alguna manera de obtener el contenido de una carpeta inteligente en Automator?

2voto

user3439894 Puntos 5883

Supongamos que tiene algunos acción que está pasando archivos a un Filtrar elementos del buscador acción , establecido como Encontrar archivos donde: Todo lo siguiente es cierto y La clase es la música .

Esto asegura que lo que se pasa a la siguiente acción , a Ejecutar Shell script acción , establecido como Shell: /bin/bash y Pasar entradas como argumentos son archivos de música.

Sustituir el valor por defecto código en el Ejecutar Shell script acción con la configuración anterior, con lo siguiente código :

for f in "$@"; do
    d="$(afinfo -r "$f" | awk '/estimated duration:/{print int($3)}')"
    if [[ $d -lt 2 ]]; then
        echo "$f"
    fi
done

Los resultados de lo anterior código con ser el nombre de ruta completamente calificado de archivos de música con una duración inferior a 2 segundos y se pasa a la siguiente acción como lista .


Para abordar su segundo comentario a mi respuesta original, utilice lo siguiente código en lugar del código arriba:

for f in "$@"; do
    d="$(afinfo -r "$f" | awk '/estimated duration:/{print $3}')"
    if (( $(echo "1.5 > $d" | bc -l) )); then
        echo "$f"
    fi
done

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