如何在API 21之后使用AudioTrack.setVolume处理音频通道音量

时间:2016-04-28 03:49:52

标签: android audio smartphone speaker

我正在尝试通过智能手机上的一个立体声声道(扬声器)重现单声道wav文件。我以前用

来控制它

AudioTrack.setStereoVolume (float leftGain, float rightGain)

将这些增益之一设置为零。查看旧代码我得到了一个弃用的方法警告,在检查了Android SDK文档后,我发现它现在已经完成了:

public int setVolume (float gain)

在API级别21中添加。此API优于setStereoVolume(float,float),因为它可以更加优雅地缩小为单声道,并且可以扩展到立体声以外的多声道内容。

我的问题是:

  1. 我如何单独控制通道音量,以便在给定时间只有一个通道再现,因为我应该使用新版本的方法同时控制两个通道?
  2. 如果某个设备有立体声或单声道扬声器,有没有办法检查Android API?
  3. 是否有另一种方法可以通过单个扬声器重现单声道音频?

0 个答案:

没有答案