p5.js функция «preload» не может загрузить звуки перед вызовом «setup» - PullRequest
1 голос
/ 11 июля 2019

В настоящее время я пишу программу p5.js, которая должна воспроизводить музыку наряду с визуальными эффектами.Однако загрузка нескольких аудиофайлов с помощью «loadSound» в функции предварительной загрузки и попытка воспроизведения файла приведут к этой ошибке:

Uncaught not ready to play file, buffer has yet to load. Try preload()

, несмотря на то, что все вызовы загрузки находятся в функции предварительной загрузки.

Я попытался удалить несколько песен, чтобы посмотреть, не вызвали ли какие-либо конкретные файлы проблему.После некоторых экспериментов кажется, что установка вызывается после завершения одного или нескольких более коротких треков, оставляя более длинный трек незагруженным.Возможно, когда один файл полностью загружен, он переходит к настройке, не загружая оставшиеся файлы.Хотя я понятия не имею, зачем это делать.Кажется, что это не так с загрузкой изображений в предзагрузке.

let
song1,
song2,
song3,
song4;

function preload() {
    song1    = loadSound('assets/audio/battle1.mp3');
    song2    = loadSound('assets/audio/battle2.mp3');
    song3    = loadSound('assets/audio/battle3.mp3');
    song4    = loadSound('assets/audio/melvin.mp3');
}

function setup() {
    createCanvas(500, 500);
    song2.play();
}

Я ожидаю, что song2 будет воспроизводиться, но вместо этого он не загружается.

...