【问题标题】:mediaplayer reverb is not working媒体播放器混响不起作用
【发布时间】:2013-04-24 19:46:36
【问题描述】:

我正在尝试通过在输出混音(音频会话“0”)上创建混响来将混响效果应用于媒体播放器,并且我使用此代码

    public void reverb1(View v){
    PresetReverb mReverb = new PresetReverb(0,0);//<<<<<<<<<<<<<
    mReverb.setPreset(PresetReverb.PRESET_LARGEROOM);
    mReverb.setEnabled(true);
    mp1.attachAuxEffect(mReverb.getId());
    mp1.setAuxEffectSendLevel(1.0f);

}

但是,当我开始播放歌曲并应用效果时,没有任何反应,歌曲继续播放,并且不应用混响效果。我还在清单&lt;uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/&gt; 中添加了这个前提 结果还是一样,是我做错了吗? 我也试过PresetReverb mReverb = new PresetReverb(0, mp1.getAudioSessionId()); 但结果还是一样。

任何帮助将不胜感激

【问题讨论】:

    标签: android android-mediaplayer


    【解决方案1】:
    PresetReverb mReverb = new PresetReverb(0, mp1.getAudioSessionId());
    

    这个构造函数有两个参数,第一个是优先级,另一个是音频会话 ID。如果你想混响而不是保持优先级 1 并使用全局 audiosessionId。

    PresetReverb mReverb = new PresetReverb(1, 0);
    mReverb.setPreset(PresetReverb.PRESET_LARGEROOM);
    mReverb.setEnabled(true);
    mp1.attachAuxEffect(mReverb.getId());
    mp1.setAuxEffectSendLevel(1.0f);
    

    还有一点需要注意的是,某些设备不支持这种混响效果...因为它们的均衡器频段有限。我没有完美的资源来确认我对某些设备的状态,但是我在某些设备上进行了相同的测试,它对某些设备运行良好,而对某些设备运行不正常

    【讨论】:

    • 您好,我也遇到了同样的问题,您对此有什么解决方案吗?我正在寻找解决方案这么多天,但没有得到任何解决方案。请提前分享您对混响问题的解决方案,并热切期待您的回复.....
    • 某些设备无法使用...尝试使用索尼的手机,它可能会使用
    • 你能在这里与媒体播放器分享完整的代码吗?
    猜你喜欢
    • 1970-01-01
    • 2016-06-03
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多