Android SoundPool 左/右音量

Posted

技术标签:

【中文标题】Android SoundPool 左/右音量【英文标题】:Android SoundPool left / right volume 【发布时间】:2012-02-29 00:21:01 【问题描述】:

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

感谢您的帮助!

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于Android SoundPool 左/右音量的主要内容,如果未能解决你的问题,请参考以下文章

Soundpool 音量不变

SoundPool 中的流音量与 AudioManager 中的音量

笔记本声音调不了,左键点击音量没反应。右键点击打不开音量合成器。

如何通过代码使 SoundPool 静音?

Android,控制背景声音的音量

AudioTrack、SoundPool 或 MediaPlayer 我应该使用哪个?