我正在使用以下代码在应用程序中打开均衡器。

Intent intent = new Intent( );
intent.setAction("android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL");
if (intent.resolveActivity( getActivity().getPackageManager()) != null )
{
   startActivityForResult( intent , 100 );
}
else
{
   JBUtils.getInstance().showCustomToast( getActivity() , R.string.equalizer_notfound);
}

并添加了权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

用户更改均衡器设置后如何在当前播放的音频文件中应用均衡器设置。我们使用 Exoplayer 播放音乐文件。

提前致谢。

最佳答案

请看这个问题(已关闭):

https://github.com/google/ExoPlayer/issues/252

有一个关于在 ExoPlayer 中使用均衡器的有趣示例。
我还没有尝试过,但在 ExoPlayer 中集成标准均衡器似乎是一个有趣的起点。

让我知道它是否有效!

这是我要开始的例子:

audioRenderer = new MediaCodecAudioTrackRenderer(......){

private Equalizer equalizer;

@Override
public void onAudioSessionId ( int audioSessionId){
    releaseEqualizer();
    equalizer = new Equalizer(...,audioSessionId);
    // Configure equalizer here.
    equalizer.setEnabled(true);
}

@Override
public void onDisabled () {
    releaseEqualizer();
}

private void releaseEqualizer () {
    if (equalizer != null) {
        equalizer.release();
        equalizer = null;
    }
}
};

此外,均衡器似乎存在一些问题。您可以尝试在 AudioTrack 中启用解决方法(默认禁用),将以下标志设置为 true:
public static boolean enablePreV21AudioSessionWorkaround = false;

关于android - 如何在 App 中使用原生均衡器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38636657/

10-09 02:25