我想让用户默认均衡器与我的应用程序一起工作,但我似乎无法让我的应用程序音频会话与均衡器连接,即使我传递了我的音频会话ID等。
这是我的代码:
Intent i = new Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL);
i.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, MusicPlayerService.getMPSessionId());
startActivityForResult(i, 11113);
我正在使用上面的代码启动用户的默认均衡器。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
System.out.println("RESULT_OK");
Equalizer equalizer = new Equalizer(0,MusicPlayerService.getMPSessionId());
equalizer.setEnabled(true);
return;
}
}
然后我使用上面的代码来应用启用并应用它。我在这做错了什么?我的手机上有一些使用均衡器的应用程序,它们都可以正常工作。
如果有人可以帮助我,那将非常感谢,谢谢。
答案 0 :(得分:0)
mAudioSession = mp.getAudioSessionId();
try {
final Intent effects = new Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL);
effects.putExtra(AudioEffect.EXTRA_PACKAGE_NAME, this.getPackageName());
effects.putExtra(AudioEffect.EXTRA_AUDIO_SESSION, mAudioSession);
startActivityForResult(effects, 0);
} catch (Exception e) {
// ignored. Whee!
}
如果可以的话,请首先在mAudioSession行上方添加此代码int mAudioSession = 0;
。该代码应该可以正常工作,对其进行测试,并且可以正常工作。我认为您re missing is, Package name, Also you don't need
equalizer.enabled`是正确的,它根本不会做任何事情,我认为这是为了使您成为自己的均衡器。另外我认为您可以使用equalizer.setenabled(true)等。