Ses kliplerini bir zamanlayıcıda kaydetme?


3

Çok sayıda 20 saniyelik ses klibi kaydetmemi gerektiren bir proje üzerinde çalışıyorum (dosya biçimi farkında olduğum kadar önemli değil). Bunu, her bir kaydı durdurmak için bir düğmeye basmadan yapabilmek isterdim; yani, 20 saniyenin sonunda bir kaydı otomatik olarak durdurmak için bir zamanlayıcı kullanabileceğimi umuyorum. Bunu QuickTime'da yönetebilir miyim? Olmazsa, topluluğun herhangi bir önerisine açığım. Şimdiden teşekkürler.


Bunu yapmak için AppleScript kullanmayı denediniz mi?
user3439894

Yeni bir Mac kullanıcısı olduğumu söylemeliydim ... henüz AppleScript'e girmedim. Bu durumda basit bir çözüm mü?
Harold Bellemare

Eh, "basit" göreceli bir terimdir ve OS X'te yeni olmak zor olabilir ancak işlemi otomatikleştirmek istiyorsanız o zaman yapılabilir. Bir cevap olarak gönderip örnek vereceğim.
user3439894

Yanıtlar:


3

Bu, ifade ettiğiniz ihtiyaçları / istekleri denemek ve bunlara uymak için örnek bir komut dosyasıdır. Kodlandığında, Masaüstünüzde "Recording_n.m4a" adında 3'er saniyelik kayıt yapacak ve bu ad, "n" otomatik olarak 1 ila 3, örneğin "Recording_1.m4a", "Recording_2.m4a" vb. nasıl ayarlandı.

Komut Dosyası Düzenleyicisi'ni açın ve aşağıdaki kodu kopyalayıp yapıştırın ve "Derle" düğmesine basın.

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

Böylece o yapıyor ve sonra değerini değiştirebilirsiniz görebilirsiniz bir zaman ya da iki olduğu gibi komut dosyasını çalıştırın howmany istediğiniz kayıtların sayısı / yapma ihtiyacı, ilk değerini değiştirin gecikme '6' 'için 20 saniyelik bir kayıt için 21 've ' 2 'ile örneğin' 5 'arasındaki ikinci gecikmenin değeri . İkinci gecikmenin değeri, ne kadarının değerini 1 veya 2 olarak ve ilk gecikmenin değerini '6' ila '21' olarak ayarlayarak belirlemeniz gerekir, böylece 20 saniyelik bir kaydınız olur. ihracat için birkaç saniye sürer. Bu değer (ikinci gecikmeninaslında her zaman arasında bir iletişim mesajı kutusu şeklinde başka bir kontrol olmasına rağmen, aslında ihtiyaç duyulduğunda, nefesinizi yakalamak için kayıtlar arasında küçük bir mola vermek ve bir sonraki kayıt için düşüncelerinizi toplamak isteyip istemediğinizi söyleyebilirsiniz.

Çizgiye dikkat edin display dialog "Click OK or press Enter to start next recording.", bir sonraki kaydı başlatmak veya tekrar döngüsünden çıkmak için bir kontrol mekanizması var . Bunun gibi bir görevi kodlamanın ve gerçekleştirmenin birçok farklı yolu vardır ve bu, yalnızca sizin belirttiğiniz gibi otomatik bir görevi gerçekleştirmek için AppleScript kullanmak istiyorsanız üzerine kurulacak bir başlangıç ​​çerçevesi vermek içindir.

Hiçbir hata komut o örneğin, "Recording_1.m4a" üzerine yazılır ikinci kez çalıştırılırsa anlamı olduğu gibi senaryoya Orada yazılı Kontrolden olduğu gibi "Recording_2.m4a" Yani çıkmak gerekiyorsa tekrar tarafından döngü iletişim kutusundaki "İptal" veya Komut Dosyası Düzenleyicide "Durdur" seçeneğini tıklatarak recordingNumber, en son dışa aktarılan dosyanın kullanacağı sayı olacak şekilde uygun numaraya ayarladığınızdan emin olun + 1. Ayrıca, ilk close (every document whose name contains "Untitled") saving nosatır herhangi bir dosyayı kapatır. kaydetmeden veya kaydedilmesini istemeden adı "Adsız" olan QuickTime Player'da açıldı. --İsterseniz tekrar etmeden ayrılsanız da dilerseniz önüne yerleştirilerek yorumlanabilir.Tekrar başlatmadan önce elle temizlemeniz gerekecek, böylece olduğu gibi bırakmak isteyebilirsiniz. Sadece bu betiği kullanırken, QuickTime Player'ı sadece neden bu şekilde kodladığımı anlamıyorsanız, görev için kullanın.


Vay, teşekkürler. Bu hile yapar. Ayrıca, insan tarafından okunabilen AppleScript'in ne kadar etkilendiğini de etkilendim. Merak ediyorum ... kaydedilen kayıtlar için masaüstünde belirli bir klasörü nasıl belirlerim (örneğin, "Kayıtlar")?
Harold Bellemare

@hrbellemare, Farklı yollar eklenebilir, işte bir yol. In set savePath toçizgi ... ekleyin & "Recordings:"önünde & "Recording_", o satır okurdum yüzden set savePath to (the path to the desktop folder as text) & "Recordings:" & "Recording_" & recordingNumber & ".m4a".
user3439894

Teşekkürler. Okuyacağım herkes için ekleyeceğim bir şey, bunun çalışması için klasörün var olması gerektiğidir - senaryo tarafından oluşturulmaz.
Harold Bellemare

@Harold Bellemare, Rica ederim! Dediğim gibi " Bu betiğe yazılmış hiçbir hata denetimi yok " ve bu dosyaların üzerine yazılması bağlamında bahsettiğimde, genel olarak da uygulanabilir. Sağladığım betiğin " örnek bir komut dosyası " olduğunu ve aynı zamanda "dediğini" hatırlayın ve bu yalnızca size derhal oluşturulacak bir başlangıç ​​çerçevesi vermek anlamına gelir . :)
user3439894
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.