2012-02-22 39 views
11

在Android中,AudioEffect API,所有的內置效果,如均衡器配備了一個警告將AudioEffect附加到全局組合的首選方法?

「注:通過使用會話0的附加均衡器全球音頻輸出組合已經過時」

如果這是棄用的,那麼替代API是什麼?我的目標以將效果附加到全局輸出混合...

回答

4

是的,由於side-effects isues已棄用。

Android開發者網站指出,均衡器類的第二個參數應該是:

的系統範圍內唯一的音頻會話標識符。在同一音頻會話中,均衡器將連接到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 2013-04-05 20:44:53

+0

現在,您仍然可以使用全球音頻會話與「均衡器」。沒有替代品,棄用並不總是伴隨着替代品。他們只是認爲這似乎並不能很好地工作,並決定繼續支持,直到進一步的Android發佈。您的解決方法是在您的應用中爲每個MediaPlayer實例附加一個均衡器。如果不是這樣,考慮到在全球音頻會話中保留一個「均衡器」的風險,因爲它知道它肯定不會在其他版本上運行。 – 2013-04-05 20:58:49

+0

Hello Halim,如何將eqaulizer附加到每個MediaPlayer實例?請分享有關這方面的更多信息。還有什麼是在ICS全球附加效應的替代方案? – JRC 2013-07-24 12:46:05

相關問題