2012-02-22 3 views

답변

4

예 아니요, side-effects isues으로 인해 사용되지 않습니다.

안드로이드 개발자 웹 사이트는 이퀄라이저 클래스의 두 번째 매개 변수가되어야한다고 주장한다 :

시스템에서 고유 한 오디오 세션 식별자를. 이퀄라이저는 동일한 오디오 세션에서 MediaPlayer 또는 AudioTrack에 연결된 입니다.

대신이를 사용해야합니다

귀하의 링크에 대한 의견 중 하나에서 언급 한 바와 같이
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

, 이것은 당신이에 이퀄라이저 또는 다른 효과를 적용 할 경우 주변의 일이 아니다 기존 스트림 또는 모든 스트림. – yano

+0

지금까지 'Equalizer'로 글로벌 오디오 세션을 계속 사용할 수 있습니다. 교체 할 필요가 없으며 대체가 항상 제공되는 것은 아닙니다. 그들은 단지 이것이 잘 작동하고있는 것처럼 보이지 않으며 더 많은 안드로이드가 출시 될 때까지 이것을 계속지지하기로 결정했습니다. 귀하의 경우에 해결 방법은 앱의 각 MediaPlayer 인스턴스에 이퀄라이저를 연결하는 것입니다. 그렇지 않은 경우 글로벌 오디오 세션에 첨부 된 'Equalizer'를 유지할 위험이 있습니다. –

+0

Hello Halim, 각 MediaPlayer 인스턴스에 eqaulizer를 연결하는 방법은 무엇입니까? 더 많은 정보를 공유하십시오. 또한 ICS에서 전 세계적으로 효과를 첨부하는 대안은 무엇입니까? – JRC