2012-02-29 49 views
0

我只想播放MP3文件的正确频道。 - >左声道,设置体积:0(静音)Android SoundPool左/右音量

我尝试:

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

谢谢你的帮忙!

回答

0

你看起来是正确的,所以我真的怀疑你认为是编程/软件问题可能实际上是一个硬件问题。您可能只是在各个渠道获取信号流血。要测试您可以尝试在模拟器上运行此代码,并使用录制软件录制(数字)输出,并在波形编辑器中查看左声道是否真的在播放。

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