我們正在通過Android的SoundPool API播放wav文件。我們已經創建了一種設備,通過麥克風將其中一個立體聲通道環回,但不是其他設備。Android SoundPool無法通過單個頻道播放
我還應該提到,我們已經使用計算機測試了我們的回送設備,並確認它可以正常工作。但是,當我們嘗試通過未環回麥克風的通道播放聲音時,我們仍然「聽到」麥克風上該通道發出的聲音。當我們插入耳機時,看起來Android仍然在發送單聲道聲音的更安靜的版本到另一個頻道,即使它不應該。
我們嘗試過在一個頻道上沉默的立體聲WAV文件,我們嘗試了單聲道文件 - 兩者都播放相同。任何人都可以解釋這一點,以及如何阻止它?我們正在使用的代碼是:
_Pool = new SoundPool(3, Stream.Music, 0);
var beep = assets.OpenFd("beep.wav");
var beepId = _Pool.Load(beep, 1);
//later, after the sound is loaded we call:
_Pool.Play(beepId, 1, 0, 1, 0, 1);
我還要提到的是,我們已經嘗試了音量電平的變化(0.01,而不是0.0和0.99,而不是1.0)。我們也嘗試過使用多種測試設備,包括Google Pixel,Samsung Note和LG。似乎沒有任何工作。是什麼賦予了?
謝謝你的回答。我們最終通過修改硬件來修復這個問題。 –