2012-08-09 12 views
8

Sono tornato con un'altra domanda relativa a BASS. Avevo già postato questa domanda How Can we control bass of music in iPhone, ma non ho ricevuto l'attenzione della tua gente quanto dovrebbe. Ma ora ho fatto qualche ricerca in più e ho letto il core AUDIO . Ho ottenuto un codice di esempio che voglio condividere con voi persone qui è il link per scaricarlo iPhoneMixerEqGraphTest. Dai un'occhiata in questo codice che ho visto è che lo sviluppatore aveva usato l'equalizzatore preimpostato fornito da iPod in Apple. Vediamo qualche frammento di codice troppo: ----Come utilizzare kAudioUnitSubType_LowShelfFilter di kAudioUnitType_Effect che controlla i bassi nell'audio core?

// iPodEQ unit 
CAComponentDescription eq_desc(kAudioUnitType_Effect, kAudioUnitSubType_AUiPodEQ, kAudioUnitManufacturer_Apple); 

Cosa kAudioUnitSubType_AUiPodEQ fa è ottenere valori preimpostati dal pareggio di iPod e ci ritorno in Xcode in un array che possiamo usare in pickerView/TableView e in grado di impostare qualsiasi categoria come bass, rock, Dance, ecc. È indifeso per me in quanto restituisce solo nomi di tipi di equalizzatore come basso, rock, Dance ecc. perché voglio implementare solo il basso e voglio implementarlo su UISLider.

Per implementare il dispositivo di scorrimento Bass sul dispositivo di scorrimento ho bisogno di valori in modo da poter impostare il valore minimo e massimo in modo tale che il cursore del movimento scorrevole possa essere modificato.

Dopo aver ottenuto tutto questo inizio a leggere le classi del framework Audio Unit di Core Audio e ottenuto questo Ipod Desc Image dopo che inizio la ricerca di controllo dei bassi e ottenuto questo

enter image description here

Così ora ho bisogno di implementare questo kAudioUnitSubType_LowShelfFilter. Ma ora non so come implementare questo enum nel mio codice in modo da poter controllare il basso come documentazione scritta. Perfino Apple non ha scritto che come possiamo usarlo. kAudioUnitSubType_AUiPodEQ questa categoria ci stava restituendo un array ma la categoria kAudioUnitSubType_LowShelfFilter non restituisce alcun array. Durante l'utilizzo di kAudioUnitSubType_AUiPodEQ questa categoria possiamo utilizzare tipi di equalizzatore da un array, ma come possiamo utilizzare questa categoria kAudioUnitSubType_LowShelfFilter. Qualcuno può aiutarmi a riguardo in qualsiasi modo? Sarebbe molto apprezzabile.

Grazie.

risposta

3

Aggiornamento

Anche se è dichiarato nelle intestazioni iOS, la mensola AU Low non è in realtà disponibile su iOS.


I parametri del Low Shelf sono diversi da iPod EQ.

I parametri vengono dichiarati e documentati in `AudioUnit/AudioUnitParameters.h ':

// Parameters for the AULowShelfFilter unit 
enum { 
    // Global, Hz, 10->200, 80 
    kAULowShelfParam_CutoffFrequency = 0, 

    // Global, dB, -40->40, 0 
    kAULowShelfParam_Gain = 1 
}; 

Così, dopo il tuo scaffale basso è creato AU, configurare i parametri utilizzando AudioUnitSetParameter.

Alcuni valori iniziali dei parametri si può provare sarebbero 120 Hz (kAULowShelfParam_CutoffFrequency) e +6 dB (kAULowShelfParam_Gain) - supponendo che il sistema riproduce bassi bene, il contenuto a bassa frequenza dovrebbe essere due volte più forte.


Can u mi dica come posso usare questa kAULowShelfParam_CutoffFrequency per cambiare la frequenza.

Se tutto è configurato bene, questo dovrebbe essere tutto ciò che è necessario:

assert(lowShelfAU); 
const float frequencyInHz = 120.0f; 
OSStatus result = AudioUnitSetParameter(lowShelfAU, 
             kAULowShelfParam_CutoffFrequency, 
             kAudioUnitScope_Global, 
             0, 
             frequencyInHz, 
             0); 
if (noErr != result) { 
    assert(0 && "error!"); 
    return ...; 
} 
+0

grazie per la risposta Justin. Puoi dirmi come posso usare questo kAULowShelfParam_CutoffFrequency per cambiare la frequenza. sto cercando di cambiarlo, ma quando cambio il valore si blocca. Per favore aiuto!!! –

+0

@NikhilBansal vedi aggiornamento. – justin

+0

ok grazie per aver risposto, fammi controllare se funziona per me o no –

Problemi correlati