如何使默认均衡器与我当前的音频会话ID一起使用

时间:2015-08-30 19:33:53

标签: android android-mediaplayer equalizer

我想让用户默认均衡器与我的应用程序一起工作,但我似乎无法让我的应用程序音频会话与均衡器连接,即使我传递了我的音频会话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;
    }

}

然后我使用上面的代码来应用启用并应用它。我在这做错了什么?我的手机上有一些使用均衡器的应用程序,它们都可以正常工作。

如果有人可以帮助我,那将非常感谢,谢谢。

1 个答案:

答案 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)等。