2010-02-02 32 views
5

Sto provando a trasferire il mio screensaver da Windows a Mac e una delle sue caratteristiche stava reagendo all'uscita audio del sistema. Su Windows è stato facile usare Direct Sound, ma non riesco a trovare alcun esempio di acquisizione di output audio su mac. È possibile anche senza scrivere qualcosa come l'estensione del kernel? Usare il flash è anche molto semplice: fornisce anche il metodo computeSpectrum per ottenere dati grezzi o persino dati trasformati da fft.Cattura uscita audio su mac

Tutti i programmi che ho già trovato utilizzano Soundflower o la propria estensione del kernel. Ma non penso che chiedere di installare programmi separati o usare l'estensione del kernel sia un buon modo.

risposta

4

Una cosa che puoi fare, considerando che Soundflower è open source, è dare un'occhiata a come l'hanno fatto. Non è possibile copiare il codice GPL &, ma si può sicuramente studiare le tecniche utilizzate e creare la propria soluzione (puntare nella giusta direzione).

Non troverete che Apple sia molto utile qui. Cattura del suono, in questo modo, può essere utilizzata per tutti i tipi di scopi nefandi. Non sono nemmeno sicuro se Core Audio ti permette di farlo senza hack. In ogni caso, hai un'implementazione funzionante di ciò che stai cercando di realizzare. Ne approfitterei.

+0

Conosci qualche posto per vedere il codice usando Soundflower? – tig

+0

Non sto raccomandando di usarlo. Sto raccomandando il reverse engineering. L'esempio che cerchi è il codice sorgente di Soundflower stesso. BTW, l'installazione di un'estensione del kernel è trasparente se la impacchetta correttamente. – pestilence669

+0

Non mi piace che richieda l'installazione dei privilegi di amministratore. Ma penso che tu abbia ragione. – tig

-3

Al momento non sono sul mio Mac, ma sono abbastanza sicuro che lo Quartz Composer abbia una patch per questa cosa. A seconda della lingua in cui stai scrivendo lo screen saver, potrebbe essere abbastanza facile per te trasferire il tuo codice in un QC patch. Beh ... probabilmente non sarà facile, ma potrebbe essere fattibile.

+0

Penso che si possa fare tutto ciò che si può fare con una patch QC in codice, no? –

+0

In Quartz Composer ho trovato solo il modo di lavorare con il suono in ingresso, non in uscita. Anche il mio screensaver non è molto leggero, quindi preferisco usare Objective-C++ con OpenGL. – tig

Problemi correlati