Estoy trabajando en un proyecto que requiere que grabe un gran número de clips de audio de 20 segundos (el formato de archivo no es importante, hasta donde yo sé). Me gustaría poder hacerlo sin tener que pulsar un botón para detener cada grabación, es decir, espero que haya una forma de poder usar un temporizador para detener la grabación automáticamente cada vez que transcurran 20 segundos. ¿Puedo manejar esto en QuickTime? Si no, estoy abierto a cualquier sugerencia que la comunidad pueda tener. Gracias de antemano.
Respuesta
¿Demasiados anuncios?Esta es una muestra script para tratar de encajar las necesidades/deseos que expresaste. Como está codificado, va a hacer 3 grabaciones de 5 segundos en tu escritorio llamadas "Grabación_n.m4a" cuando la 'n' del nombre se incrementará automáticamente de 1 a 3, por ejemplo "Grabación_1.m4a", "Grabación_2.m4a", etc. a lo que sea. howMany está listo para
Abrir script Editor y copiar y pegar el código de abajo y presionar el botón "Compilar".
set howMany to 3 -- The number of recordings to make.
set recordingNumber to 1 -- 'recordingNumber' is used to increment the recording number in the filename when exporting.
tell application "QuickTime Player"
activate
close (every document whose name contains "Untitled") saving no -- I set this just to have no other Untitled windows open when starting the recordings, especially if having broken out of the repeat loop.
repeat howMany times
set savePath to (the path to the desktop folder as text) & "Recording_" & recordingNumber & ".m4a"
set recording to new audio recording
start recording
delay 6 -- Add an additional second to the wanted value, e.g. for 20 second recording set delay to 21.
stop recording
export document "Untitled" in file savePath using settings preset "Audio Only"
delay 2 -- Set appropraite delay to allow export to complete.
close (every document whose name contains "Untitled") saving no
set recordingNumber to recordingNumber + 1 -- Increments recording number by one.
-- Close "Export Progress" window.
tell application "System Events" to click menu item "Hide Export Progress" of menu "Window" of menu bar 1 of process "QuickTime Player"
display dialog "Click OK or press Enter to start next recording."
end repeat
end tell
Ejecuta el script como es un tiempo o dos para que puedas ver lo que está haciendo y luego puedes cambiar el valor de howMany al número de grabaciones que quieres/necesitas hacer, cambia el valor de la primera retraso de "6" a "21" para una grabación de 20 segundos y el valor del segundo retraso de "2" a, por ejemplo, "5". El valor del segundo retraso que tendrás que determinar de antemano estableciendo el valor de howMany a 1 o 2 y el valor de la primera retraso de '6' a '21', así que tienes una grabación de 20 segundos para ver cuántos segundos tarda en exportarse. Este valor (del segundo retraso ) puede ser más alto de lo que realmente se necesita, digamos si quieres un pequeño descanso entre grabaciones para recuperar el aliento y recoger tus pensamientos para la siguiente grabación, aunque hay otro control en forma de cuadro de diálogo entre cada grabación.
Fíjese en la línea display dialog "Click OK or press Enter to start next recording."
está ahí como un mecanismo de control para iniciar la siguiente grabación o para salir de la repita el bucle. Hay muchas maneras diferentes de codificar y realizar una tarea como esta y esto es sólo para darte un marco de trabajo inicial sobre el cual construir si quieres usar AppleScript para realizar una tarea automatizada como la que has mencionado.
No hay ninguna comprobación de error escrita en este script tal cual, lo que significa que si el script se ejecuta por segunda vez se sobrescribirá, por ejemplo, "Grabación_1.m4a", "Grabación_2.m4a", etc. Así que si necesitas salir del repita haciendo clic en "Cancelar" en el cuadro de diálogo o "Detener" en el editor script, asegúrese de configurar recordingNumber
al número apropiado, que sería el número usado del último archivo exportado + 1. Además, el primer close (every document whose name contains "Untitled") saving no
cerrará cualquier archivo abierto en QuickTime Player cuyo nombre contenga "Sin título" sin guardarlo ni pedir que se guarde. Puede ser comentado colocando --
delante de él si lo desea, aunque si se escapó de la repita tendrá que limpiarlo manualmente antes de reiniciar, así que tal vez quiera dejarlo como está. Sólo cuando uses este script usa QuickTime Player para la tarea en cuestión si no entiendes por qué lo codifiqué de esta manera.