2012-08-30 27 views
7

Tôi cần phát và ghi đồng thời bằng Lõi Âm thanh. Tôi thực sự không muốn sử dụng AVFoundation API (AVAudioPlayer + AVAudioRecorder) để làm điều này khi tôi đang tạo một ứng dụng âm nhạc và không thể có bất kỳ vấn đề độ trễ nào.Phát lại và Ghi đồng thời bằng Lõi Âm thanh trong iOS

Tôi đã nhìn vào mã nguồn sau đây từ Apple:
aurioTouch
MixerHost

Tôi đã nhìn vào bài viết sau đây:
iOS: Sample code for simultaneous record and playback
Record and play audio Simultaneously

tôi vẫn không rõ ràng về cách tôi có thể phát lại và ghi lại cùng một thứ cùng một lúc bằng cách sử dụng Core Audio. Bất kỳ con trỏ nào hướng tới cách tôi có thể đạt được điều này sẽ được đánh giá rất cao. Bất kỳ con trỏ nào đến bất kỳ mã nguồn mẫu nào cũng sẽ giúp ích rất nhiều.

+0

vấn đề là, nếu tôi gửi cho bạn ứng dụng của tôi làm điều tương tự, nó sẽ không giúp bạn vì nó là một điều rất phức tạp và bạn nên tự mình phân tích quy trình làm việc để hiểu nó. – holex

+0

nhân tiện, tôi đã phân tích ** [dự án mẫu này] (http://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html#//apple_ref/doc/uid/ DTS40007802) ** để hiểu quy trình. nó đã quá đủ cho tôi, để phân tích nó mất 2 hoặc 3 ngày cho tôi nhưng tôi không phải là một thiên tài. tất nhiên tôi đã đọc toàn bộ ** [Hướng dẫn lập trình phiên âm thanh] (http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html#//apple_ref/ doc/uid/TP40007875-CH1-SW1) **. – holex

Trả lời

4

Đơn vị âm thanh từ xa có thể được sử dụng để ghi và phát đồng thời. Có rất nhiều ví dụ về ghi âm bằng cách sử dụng RemoteIO (aurioTouch) và chơi bằng RemoteIO. Chỉ cần kích hoạt cả đầu vào đơn vị và đầu ra đơn vị, và xử lý cả hai cuộc gọi đệm. Xem ví dụ here

+0

Tôi có mã nguồn cho aurioTouch. Bạn có thể cho tôi biết nơi tôi có thể tìm kiếm trong đó để tôi có thể nhận được một số ý tưởng. Bây giờ, tôi chỉ muốn thực hiện một phương thức như 'playSound: ' và có thể ghi lại điều đó. –

+0

bạn có thể cho tôi mẫu aurioTouch không. Cảm ơn trước – RSM