当我使用函数 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 的帖子,但似乎没有人遇到我同样的问题,要么该功能无法完全工作,要么他们有其他问题;无论如何,他们的解决方案对我不起作用
减去的量 0.0025 太小,无法听到响度差异,请参阅此处的答案。增加此数量,该程序很可能会起作用。
我解决了这个问题,我尝试播放的文件是单声道的,所以我使用了 audacity 并通过复制曲目使它们成为立体声