2012-02-22 16 views
11

In Android, AudioEffect API, tutti gli effetti builtin quali Equalizzatore venire con un avvertimentoModo preferito per collegare AudioEffect al mix globale?

"NOTA: collegare un equalizzatore per il mix di uscita audio globale mediante l'uso della sessione 0 è deprecato"

Se questo è deprecato, allora qual è l'API di sostituzione? Il mio obiettivo è per collegare un effetto al mix di output globale ...

risposta

4

Sì, è deprecato, a causa di side-effects isues.

Il sito Android Developers afferma che il secondo parametro della classe equalizzatore dovrebbe essere:

A livello di sistema identificativo univoco sessione audio. L'equalizzatore sarà collegato a MediaPlayer o AudioTrack nella stessa sessione audio.

Si consiglia di utilizzare questo, invece:

MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setDataSource(_your_data_source_); 
Equalizer equalizer = new Equalizer(0, mediaPlayer.getAudioSessionId()); 
equalizer.setEnabled(true); 
/* Do your stuff ... */ 
mediaPlayer.start(); 
+0

Come menzionato in uno dei commenti sul tuo link, non si tratta di un lavoro in giro, nel caso in cui si desidera applicare equalizzatore o altro effetto a un flusso esistente o tutti i flussi. – yano

+0

Per ora è ancora possibile utilizzare la sessione audio globale con 'Equalizer'. Non c'è sostituzione, la deprecazione non viene sempre con la sostituzione. Hanno appena pensato che questo non sembra funzionare bene e ha deciso di mantenere un supporto per questo fino a successive versioni di Android. La soluzione alternativa nel tuo caso è quella di collegare un equalizzatore a ciascuna istanza di MediaPlayer nelle tue app. In caso contrario, correndo il rischio di mantenere un 'Equalizzatore' collegato alla sessione audio globale sapendo che non funzionerà sicuramente su ulteriori rilasci. –

+0

Ciao Halim, Come collegare eqaulizer a ciascuna istanza di MediaPlayer? Si prega di condividere più informazioni su questo. Inoltre, qual è l'alternativa per collegare l'effetto a livello globale in ICS? – JRC