2011-09-13 32 views
5

Có hai ứng dụng cho OS X cho phép bạn khuếch đại trước âm thanh trước khi phần cứng được phát bởi phần cứng: Audio Hijack (khuếch đại trước đầu ra từ các ứng dụng cụ thể) và Boom (khuếch đại trước tất cả âm thanh hệ thống). Các ứng dụng này hoạt động bằng cách áp dụng cân bằng với các luồng âm thanh đã có từ trước - với cài đặt trước amp cao - trước khi chúng được gửi tới thẻ âm thanh.Pre-Amplify Audio OS X

Câu hỏi của tôi là: cách chiếm đoạt luồng âm thanh hệ thống và sau đó gửi nó cùng với thẻ âm thanh. Đây có phải là một nơi nào đó trong một API, hoặc nó sẽ yêu cầu thay đổi một thư viện hệ thống?

+2

Xem nhiều câu hỏi tương tự, ví dụ: http://stackoverflow.com/questions/965045/osx-audio-hijack-style-audio-recording-from-other-applications-cocoa –

Trả lời

5

1) Tạo thiết bị âm thanh chuẩn hiển thị trong tùy chọn hệ thống âm thanh. Điều này phải ở dạng mở rộng hạt nhân (kext). Khó tạo ra bằng cách chỉ đọc tài liệu về táo - hãy thử xem một ứng dụng có tên là Soundflower.

2) Sau khi bạn đã tải kext và có sẵn thiết bị âm thanh mới, hãy chọn nó trong các tùy chọn làm thiết bị đầu ra mặc định cho âm thanh hệ thống.

3) Bây giờ bạn cần phải thay đổi âm thanh và đặt nó vào đầu ra của hệ thống thực. Điều này có thể được thực hiện trong một ứng dụng đi kèm thêm chức năng gọi lại "IOProc" vào a) thiết bị mới và b) thiết bị đầu ra tích hợp của máy tính của bạn. Sau đó, bạn có thể sao chép bộ đệm âm thanh từ thiết bị này sang thiết bị khác, để đưa âm thanh vào loa của bạn. Để tăng âm lượng, nhân tất cả các byte trong bộ đệm bằng một số yếu tố. Xem ứng dụng đi kèm của Soundflower.

+0

- nhờ paul r cho con trỏ. Đây là những gì tôi đã học được. – Colin