2009-05-16 6 views
16

Mac의 Audio Queue에서 오디오를 캡처하고 적절한 오디오 포맷으로 디스크에 저장해야하는 작은 응용 프로그램에서 작업 할 예정입니다.코코아에서 Mac에서 오디오를 캡처하고 파일로 저장하는 코드 샘플?

누구나 공유 할 수있는 괜찮은 샘플 코드 (Cocoa/Objective-C)가 있습니까?

특히 녹음하기 위해 내장 출력 장치로 전달되는 오디오를 캡처해야합니다. 어떤 통찰력? 지금까지의 답변은 도움이되었지만 입력 소스에 관계없이 출력으로 이동하는 데이터를 캡처하는 방법을 이해하는 데 도움이되지 못했습니다.

답변

9

Mac OS X에서 오디오 작업은 Core Audio와의 인터페이스가 필요합니다. 간략한 개요를 보려면 Core Audio Overview을 살펴보십시오.

입력 및 출력을 수행하려면 AUHAL과 인터페이스해야합니다. 해당 단계를 자세히 설명하는 technical note이 있습니다. 이 코드는 대개 C++로 작성된 것으로 보입니다. 이는 SimplePlayThru demo에서 취해진 절차입니다.

오디오 입력을 캡처하는 데 필요한 실제 단계는 다루지 않습니다. 그러나 이러한 링크는 입력 장치와의 인터페이스를 시작하기에 충분한 샘플 코드를 제공해야합니다. 내가이 문제에 관해서는이 답변에 더 많은 링크를 게시 할 것입니다.


/Developer/Example/CoreAudio/Services/AudioFileTools을 살펴보십시오. 특히 afrecord.cpp을 살펴보십시오. 틀림없이 이것은 코코아가 아닙니다 그 자체입니다; 코코아 자체는 녹음을위한 특정 기능이없는 것 같습니다. C++ 파일과 인터페이스하고 싶다면 SimplePlayThru와 같은 Objective C++을 작성해야 할 것이다.

+0

감사! 나는 Core Audio에 대해 알고 있었고 한 번 들여다 보았다. 누구든지 비슷한 것을 해보면 내가 매우 흥미를 느낀다. 상관없이 응답을위한 엄지 손가락 ... – Demi

3

website
이 Cocoadev 또한 그 주제에 대한 article을 가지고은 Ulli Kusterers에 좋은 예제 코드가있다. 페이지 하단의 소스 코드는 QuickTimes Sequence Grabber API를 사용합니다. 나는 Core Audio와 함께 갈 것이다.

+0

이것은 좋은 정보입니다. 감사! – Demi

관련 문제