Я добавил функцию управления панорамированием звуков, но не могу поместить весь звук в один буферный канал. Теперь я нашел проект на github https://mdn.github.io/webaudio-examples/stereo-panner-node/. Основная проблема этого проекта github в том, что хотя он работает почти на всех устройствах, он воспроизводит только один звук. Я попытался изменить его с помощью queryselectorall, чтобы он работал со всеми шумами на моем веб-сайте, но безуспешно.
var audioCtx;
var myAudio = document.querySelectorAll("audio");
var panControl = document.querySelector('.panning-control');
var panValue = document.querySelector('.panning-value');
audioCtx = new window.AudioContext();
var panNode = audioCtx.createStereoPanner();
for (var i = 0; i < myAudio.length; i++)
{
source = audioCtx.createMediaElementSource(myAudio[i]);
source.connect(panNode);
}
panNode.connect(audioCtx.destination);
panControl.oninput = function() {
panNode.pan.value = panControl.value;
}
Приведенный выше код - это мой измененный код. Он обрабатывает все аудио, но работает только с ограниченным количеством устройств, особенно с телефоном. Когда я добавляю измененный код на некоторые устройства, звук не воспроизводится. Помогите мне добавить несколько звуков в один буферный канал, чтобы я мог добавить функцию панорамирования для управления всеми звуками с помощью одного ползунка / поисковика.
Ваша помощь будет оценена по достоинству.
queryselectorall
отдельно от звукового аспекта вопроса, работает ли он должным образом. Проверьте совместимость developer.mozilla.org/en-US / docs / Web / API / Document / (выглядит нормально, возможно, это еще один аспект кода. - person fdcpp   schedule 06.01.2021PannerNode
со всемиPannerNode
объектами, принимающими свои параметры из одного и того же входа. Каждый из них - совершенно правильный подход - person fdcpp   schedule 06.01.2021for
цикле, который имеет длинуnumber_of_audio_sources
- person fdcpp   schedule 06.01.2021