rgl, если абстрагироваться от такой гипотетической проблемы, как "дёргание диска" и перейти непосредственно к решению на основе условий задачи, можно сделать так:
Вы утверждаете, что даже в Base64 все файлы будут весить всего несколько мегабайт. Можно предположить, что общий размер всех файлов несущественный. Если список файлов конечен, можно запаковать файлы, к примеру, в ZIP-формат без компрессии (нам нужно только чтение, без декомпрессии). При открытии страницы подгружать один ZIP-файл, декодировать все Blob-файлы в память (в массив) и подгружать при необходимости в атрибут "src" элемента "audio" с помощью URL.createObjectURL.
Вам потребуется подключить на странице любую библиотеку для декодирования ZIP-файлов.
|