2

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

}

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

如果有人可以帮助我,将不胜感激,谢谢。

4

1 回答 1

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!

}

int mAudioSession = 0;如果有意义的话,首先在 mAudioSession 行上方添加此代码。该代码应该可以工作,对其进行测试并且可以正常工作。我认为你re missing is, Package name, Also you don't need的 equalizer.enabled` 是真的,它根本不会做任何事情,我认为那是为了让你成为自己的均衡器。另外我认为你可以使用 equalizer.setenabled(true) 等。

于 2018-11-11T02:36:07.100 回答