Android MediaPlayer setVolume 无法正常工作

问题描述 投票:0回答:2

当我使用函数 setVolume(left,right) 时,歌曲的音量仅受左音量影响,右音量可以是任何数字,mp 不在乎。双耳的音量变化正确,紧随左耳变化。

这是代码片段

mp = MediaPlayer.create(ZenActivity.appContext, resID);
mp.setLooping(true);
mp.setVolume(stream_volL, stream_volR);
mp.start();

vol_downR.setOnTouchListener(new Button.OnTouchListener() {
            private Handler mHandler;
            Runnable mAction = new Runnable() {
                @Override public void run() {
                    stream_volR= Math.max(0f,stream_volR-0.0025f);
                    mp.setVolume(stream_volL,stream_volR);
                    mHandler.postDelayed(this, 50);
                }
            };

我查看了所有(?)有关 setVolume 的帖子,但似乎没有人遇到我同样的问题,要么该功能无法完全工作,要么他们有其他问题;无论如何,他们的解决方案对我不起作用

android android-mediaplayer
2个回答
0
投票

减去的量 0.0025 太小,无法听到响度差异,请参阅此处的答案。增加此数量,该程序很可能会起作用。


0
投票

我解决了这个问题,我尝试播放的文件是单声道的,所以我使用了 audacity 并通过复制曲目使它们成为立体声

© www.soinside.com 2019 - 2024. All rights reserved.