Registrazione di clip audio su un timer?

3

Sto lavorando a un progetto che richiede di registrare un numero elevato di clip audio di 20 secondi (il formato del file non è importante, per quanto ne so). Mi piacerebbe essere in grado di farlo senza premere un pulsante per interrompere ogni registrazione, cioè, spero che ci sia un modo in cui posso usare un timer per interrompere automaticamente la registrazione ogni volta che 20 secondi sono scaduti. Posso gestirlo in QuickTime? In caso contrario, sono aperto a qualsiasi suggerimento che la comunità possa avere. Grazie in anticipo.

    
posta Harold Bellemare 28.07.2015 - 00:30
fonte

1 risposta

3

Questo è uno script di esempio per cercare di soddisfare le esigenze / i desideri espressi. Come codificato, effettuerà 3 registrazioni di cinque secondi sul desktop denominate "Recording_n.m4a" quando "n" nel nome verrà incrementato automaticamente da 1 a 3, ad es. "Recording_1.m4a", "Recording_2.m4a" ecc. A qualsiasi quant'è .

Apri Script Editor e copia e incolla il codice sottostante e premi il pulsante "Compila".

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

Esegui lo script come è un tempo o due in modo da poter vedere cosa sta facendo e quindi puoi cambiare il valore di come molti al numero di registrazioni che vuoi / devi fare, cambiare il valore del primo ritardo da "6" a "21" per una registrazione di 20 secondi e il valore del secondo ritardo da "2" ad es. '5'. Il valore del secondo delay dovrai determinare in anticipo impostando il valore di howMany su 1 o 2 e il valore del primo ritardo da '6' a '21' in modo da avere una registrazione di 20 secondi per vedere quanti secondi ci vuole per esportare. Questo valore (del secondo ritardo ) può essere più alto di quello effettivamente necessario, diciamo se si desidera una piccola pausa tra le registrazioni per riprendere fiato e raccogliere i pensieri per la prossima registrazione, anche se c'è un altro controllo in la forma di una finestra di messaggio di dialogo tra ogni registrazione.

Nota la riga display dialog "Click OK or press Enter to start next recording." , è lì come un meccanismo di controllo per avviare la prossima registrazione o per uscire dal ciclo ripeti . Esistono molti modi diversi di codificare e svolgere un compito come questo e questo è pensato per darti una struttura di partenza su cui basarti se vuoi utilizzare AppleScript per eseguire un'attività automatizzata come quella che hai menzionato.

Non c'è nessun controllo degli errori scritto in questo script così com'è, nel senso che se lo script viene eseguito una seconda volta verrà sovrascritto, ad es. "Recording_1.m4a", "Recording_2.m4a" ecc. Quindi, se hai bisogno di uscire dal ciclo ripeti facendo clic su "Annulla" nella finestra di messaggio di dialogo o su "Stop" nello Script Editor, assicurati di impostare recordingNumber sul numero appropriato, che sarebbe il numero utilizzato dell'ultimo file esportato + 1. Inoltre, la prima riga close (every document whose name contains "Untitled") saving no chiuderà qualsiasi file aperto in QuickTime Player il cui nome contiene "Senza titolo" senza salvare o chiedendo di essere salvato. Può essere commentato posizionando -- davanti a esso se lo desideri, anche se se si interrompe il ciclo ripeti sarà necessario effettuare manualmente la pulizia prima di riavviarlo, quindi si consiglia di lasciarlo come è. Solo quando usi questo script usa QuickTime Player per il compito in questione se non capisci perché l'ho codificato in questo modo.

    
risposta data 28.07.2015 - 05:35
fonte

Leggi altre domande sui tag