用来加载 [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer AudioBuffer]的一个类。 内部默认使用[page:FileLoader]来加载文件。
// 初始化一个监听
const audioListener = new THREE.AudioListener();
// 把监听添加到camera
camera.add( audioListener );
// 初始化音频对象
const oceanAmbientSound = new THREE.Audio( audioListener );
// 添加一个音频对象到场景中
scene.add( oceanAmbientSound );
// 初始化一个加载器
const loader = new THREE.AudioLoader();
// 加载资源
loader.load(
// 资源URL
'audio/ambient_ocean.ogg',
// onLoad回调
function ( audioBuffer ) {
// 给一个加载器对象设置音频对象的缓存
oceanAmbientSound.setBuffer( audioBuffer );
// 播放音频
oceanAmbientSound.play();
},
// onProgress回调
function ( xhr ) {
console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
},
// onError回调
function ( err ) {
console.log( 'An error happened' );
}
);
[page:LoadingManager manager] — 加载器使用的[page:LoadingManager loadingManager]。默认为[page:LoadingManager THREE.DefaultLoadingManager].
创建一个新的[name].
共有属性请参见其基类[page:Loader]。
共有方法请参见其基类[page:Loader]。
[page:String url] — 文件的URL或者路径,也可以为
[link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs Data URI].
[page:Function onLoad] — 加载完成时将调用。回调参数为将要加载的响应文本。
[page:Function onProgress] — 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含[page:Integer total]和[page:Integer loaded]字节.
[page:Function onError] — 在加载错误时被调用。
从URL中进行加载并将已经加载的[page:String AudioBuffer]传递给onLoad。
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]