2009-05-16 10 views
16

Dovrei lavorare su una piccola applicazione che cattura l'audio dalla coda audio del Mac e deve salvarlo su disco in un ragionevole formato audio.Esempio di codice per catturare l'audio da un Mac in Cocoa e salvare su file?

Qualcuno ha un codice di esempio decente (Cocoa/Objective-C) che può condividere?

Ho specificamente bisogno di catturare l'audio che viene passato al dispositivo di uscita incorporato per registrarlo. Qualche intuizione? Le risposte finora sono state utili, ma non mi hanno aiutato a capire come i dati che vanno all'output possano essere catturati, agnostici della sorgente di input.

risposta

9

L'utilizzo dell'audio in Mac OS X implica l'interfacciamento con Core Audio. Per una rapida panoramica, dai uno sguardo allo Core Audio Overview.

Sarà necessario interfacciarsi con AUHAL per eseguire input e output; a technical note esiste in dettaglio i passaggi necessari per farlo. Questo codice sembra solitamente scritto in C++, poiché questa è la procedura adottata nello SimplePlayThru demo.

Questo non copre i passaggi effettivi necessari per acquisire quell'ingresso audio. Tuttavia, questi collegamenti dovrebbero fornire un codice di esempio sufficiente per iniziare l'interfaccia con il dispositivo di input. Pubblicherò più link in questa risposta se mi capiterà attraverso di loro.


Dai uno sguardo allo /Developer/Example/CoreAudio/Services/AudioFileTools. Nello specifico, guarda su afrecord.cpp. Certamente, questo non è Cocoa di per sé; Lo stesso Cocoa non sembra avere alcuna capacità specifica per la registrazione. Se vorrete interfacciarvi con il file C++, probabilmente dovrete scrivere alcuni Objective C++ come in SimplePlayThru.

+0

Grazie! Sapevo di Core Audio e avevo dato un'occhiata. Sono molto interessato se qualcuno ha fatto qualcosa di simile che posso dare un'occhiata. Complimenti per la risposta, indipendentemente ... – Demi

3

V'è un buon esempio di codice a Ulli Kusterers website
Cocoadev ha anche un article su questo argomento. Il codice sorgente nella parte inferiore della pagina utilizza l'API QuickTimes Sequence Grabber. Vorrei andare con Core Audio.

+0

Questa è una buona informazione. Grazie! – Demi

Problemi correlati