在Android中,AudioEffect API的所有内置效果(如均衡器均带有警告]
“”注意:不赞成使用会话0将均衡器附加到全局音频输出混合。“
如果已弃用,那么替代的API是什么?我的目标是将效果附加到全局输出混合...
Android开发者网站指出,Equalizer类的第二个参数应该是:
系统范围内的唯一音频会话标识符。均衡器将是在同一音频会话中连接到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();
意图向效果控制应用程序或服务发送信号,表明新的音频会话已打开并且需要应用音频效果。
我尝试在清单中添加常量,但是没有用:
<receiver android:name=".receivers.AudioSessionReceiver">
<intent-filter>
<action android:name="android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION"/>
</intent-filter>
</receiver>
如果您知道如何使用该常数,则该意图将包含音频会话ID,您可以使用该ID来应用所需的均衡器设置。 (如果您在所有这些年中都找到了解决方法,可以介意分享吗?)