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 中的流音量与 AudioManager 中的音量