0

我只想在正确的频道播放 mp3 文件。-> 左声道,设置音量:0(静音)

我试过 :

public class TestSound {

    private SoundPool soundPool;
    private int id;

    public TestSound(Context context,final float leftVolume, final float rightVolume) {
        soundPool = new SoundPool(2, AudioManager.STREAM_MUSIC, 100);
        id = soundPool.load(context, R.raw.cat, 1);
        soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {

            public void onLoadComplete(SoundPool arg0, int arg1, int arg2) {
                soundPool.play(id, leftVolume, rightVolume, 1, 0, 1f);                     
            };
        });
    }
}

//execute
new TestSound(getApplicationContext(), 0f, 1.0f); //left vol:0; right:1

不幸的是,第一个通道(左):非常非常安静地播放歌曲(未静音),第二个通道(右)很好。为什么?

安卓操作系统:2.3.4

谢谢你的帮助!

4

1 回答 1

0

您所拥有的似乎是正确的,所以我实际上怀疑您认为是编程/软件问题实际上可能是硬件问题。您可能只是在通道之间获得信号泄漏。要进行测试,您可以尝试在模拟器上运行此代码并使用录音软件(以数字方式)记录输出,并在波形编辑器中查看左声道是否正在播放。

或者,您可以尝试以其他方式进行比较。首先在波形编辑器中编辑您的文件,使其全部位于正确的频道上,然后在您的设备上收听,看看您是否会流血到左侧。

于 2012-02-29T00:38:40.620 回答