Я не использовал OpenAL, но в других звуковых библиотеках я видел этот «артефакт». При работе с генератором тона и т. Д. Обычно существует переменная для времени, в течение которого тон достигает 100% уровня громкости, я могу на всю жизнь не помнить, как он называется:)
как это:
playTone(400 Hz, 40 dB, 50 ms, 3000 ms).
, где 400 - это Гц, 40 дБ - громкость, 3000 миллисекунд - это длительность, а 50 миллисекунд - это время, которое требуется от запуска тембра с громкости 0 (или + 100 дБ) до достижения 40 дБ. Я просто не могу найти слово прямо сейчас.
В любом случае, если у вас есть возможность установить эту переменную, попробуйте сделать это, просто установите ее примерно на 10 мс. Вы не сможете его услышать, но он убрал для меня звуки щелчков как в библиотеке звуков с открытым исходным кодом, которую я использовал для iPhone, так и в некоторых библиотеках Java / Processing, которые я использовал в прошлом.
Может быть, это связано с тем, как базовый код запускает какое-то оборудование, подключенное к динамику?