UNPKG

mylingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

22 lines (19 loc) 587 B
import { forceGet } from "@lincode/utils" import { AudioLoader } from "three" import { handleProgress } from "./bytesLoaded" const cache = new Map<string, Promise<AudioBuffer>>() const loader = new AudioLoader() export default (url: string) => forceGet( cache, url, () => new Promise<AudioBuffer>((resolve, reject) => { loader.load( url, (buffer) => resolve(Object.freeze(buffer)), handleProgress(url), reject ) }) )