Android SoundPool左/右音量

时间:2012-02-29 00:21:02

标签: java android soundpool audiotrack

我想播放只有正确频道的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

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

Android操作系统:2.3.4

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

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

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