Ghi clip âm thanh trên một bộ đếm thời gian?


3

Tôi đang làm việc trong một dự án yêu cầu tôi ghi lại một số lượng lớn clip âm thanh 20 giây (định dạng tệp không quan trọng, theo như tôi biết). Tôi muốn có thể làm điều này mà không cần nhấn nút để dừng mỗi bản ghi âm, đó là tôi hy vọng có một cách để tôi có thể sử dụng bộ hẹn giờ để dừng ghi âm tự động mỗi khi hết 20 giây. Tôi có thể quản lý điều này trong QuickTime không? Nếu không, tôi sẽ mở cho bất kỳ đề xuất nào mà cộng đồng có thể có. Cảm ơn trước.


Bạn đã thử sử dụng AppleScript để làm điều này chưa?
dùng3439894

Tôi nên đã đề cập rằng tôi là một người dùng Mac mới ... chưa đào sâu vào AppleScript. Đó có phải là một giải pháp đơn giản, trong trường hợp này?
Harold Bellemare

Vâng "đơn giản" là một thuật ngữ tương đối và với việc mới sử dụng OS X, điều này có thể khó khăn tuy nhiên nếu bạn đang muốn tự động hóa quy trình thì có thể thực hiện được. Tôi sẽ đăng và ví dụ như một câu trả lời.
user3439894

Câu trả lời:


3

Đây là một kịch bản mẫu để thử và phù hợp với nhu cầu / mong muốn của bạn. Như được mã hóa, nó sẽ tạo 3 bản ghi năm giây trên Máy tính để bàn của bạn có tên "Record_n.m4a" khi tên 'n' trong tên sẽ được tăng tự động từ 1 đến 3, ví dụ: "Ghi_1.m4a", "Ghi_2.m4a", v.v. howMany được đặt thành.

Mở Script Editor và sao chép và dán mã bên dưới và nhấn nút "Biên dịch".

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

Chạy tập lệnh dưới dạng một hoặc hai lần để bạn có thể thấy những gì nó đang làm và sau đó bạn có thể thay đổi giá trị của howMany thành số lượng bản ghi bạn muốn / cần thực hiện, thay đổi giá trị của độ trễ đầu tiên từ '6' thành ' 21 'cho bản ghi 20 giây và giá trị của độ trễ thứ hai từ' 2 'đến ví dụ' 5 '. Giá trị của độ trễ thứ hai bạn sẽ cần xác định trước bằng cách đặt giá trị của howMany thành 1 hoặc 2 và giá trị của độ trễ đầu tiên từ '6' đến '21' để bạn có bản ghi 20 giây để xem phải mất nhiều giây để xuất khẩu. Giá trị này (của độ trễ thứ hai) có thể cao hơn khi thực sự cần thiết, giả sử nếu bạn muốn nghỉ ngơi một chút giữa các bản ghi để lấy hơi và thu thập suy nghĩ của bạn cho bản ghi tiếp theo, mặc dù có một điều khiển khác ở dạng hộp thông báo hộp thoại giữa mỗi bản ghi.

Lưu ý dòng display dialog "Click OK or press Enter to start next recording.", nó ở đó như một cơ chế kiểm soát để bắt đầu ghi hình tiếp theo hoặc để thoát ra khỏi sự lặp lại vòng lặp. Có nhiều cách khác nhau để mã hóa và hoàn thành một nhiệm vụ như thế này và điều này chỉ nhằm cung cấp cho bạn một khung bắt đầu để xây dựng nếu bạn muốn sử dụng AppleScript để thực hiện một tác vụ tự động như bạn đã đề cập.

Không có lỗi kiểm tra được ghi vào tập lệnh này, nghĩa là nếu tập lệnh được chạy lần thứ hai, nó sẽ ghi đè lên, ví dụ: "Ghi_1.m4a", "Ghi_2.m4a", v.v. Vì vậy, nếu bạn cần thoát ra khỏi vòng lặp lặp lại bằng cách nhấp vào "Hủy" trong hộp thông báo hộp thoại hoặc "Dừng" trong Trình chỉnh sửa tập lệnh, đảm bảo bạn đặt thành recordingNumbersố thích hợp, đó sẽ là số được sử dụng của tệp được xuất cuối cùng + 1. Ngoài ra, close (every document whose name contains "Untitled") saving nodòng đầu tiên sẽ đóng bất kỳ tệp nào đã mở trong Trình phát hình ảnh có tên "Chưa có tiêu đề" mà không lưu hoặc nhắc lưu. Nó có thể được nhận xét bằng cách đặt --trước nó nếu bạn muốn mặc dù nếu bạn thoát ra khỏi lặp lạivòng lặp bạn sẽ phải dọn dẹp thủ công trước khi khởi động lại để bạn có thể muốn để nguyên như vậy. Chỉ khi sử dụng tập lệnh này, chỉ sử dụng Trình phát hình ảnh cho nhiệm vụ trong tay nếu bạn không hiểu tại sao tôi lại mã hóa nó theo cách này.


Ồ cảm ơn nhé. Đây là mẹo. Tôi cũng rất ấn tượng về cách AppleScript có thể đọc được của con người. Tôi chỉ đang tự hỏi ... làm cách nào để chỉ định một thư mục nhất định trên màn hình nền (ví dụ: "Bản ghi") cho các bản ghi đã lưu?
Harold Bellemare

@hrbellemare, Có thể thêm các cách khác nhau, đây là một cách. Trong set savePath todòng ... thêm & "Recordings:"phía trước & "Recording_"để dòng đó sẽ đọc , set savePath to (the path to the desktop folder as text) & "Recordings:" & "Recording_" & recordingNumber & ".m4a".
dùng3439894

Cảm ơn. Một điều mà tôi muốn thêm vào, đối với bất kỳ ai đang đọc, đó là thư mục phải tồn tại để nó hoạt động - nó sẽ không được tạo bởi kịch bản.
Harold Bellemare

@Harold Bellemare, Chào mừng bạn! Như tôi đã nói " Không có lỗi kiểm tra được viết vào tập lệnh này " và trong khi tôi đã đề cập đến nó trong bối cảnh các tập tin ghi đè, nó tạo ra nó cũng được áp dụng chung. Hãy nhớ rằng tập lệnh tôi cung cấp là " tập lệnh mẫu " và cũng nói " và điều này chỉ nhằm mục đích cung cấp cho bạn một khung bắt đầu để xây dựng " để xử lý lỗi thích hợp và chức năng bổ sung chắc chắn có thể được tích hợp vào tập lệnh theo lựa chọn. :)
dùng3439894
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.