AudioLoader

优质
小牛编辑
135浏览
2023-12-01

用来加载 AudioBuffer的一个类。 内部默认使用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' );
  }
);

构造函数

AudioLoader( manager : LoadingManager )

manager — 加载器使用的loadingManager。默认为THREE.DefaultLoadingManager.

创建一个新的AudioLoader.

属性

共有属性请参见其基类Loader

方法

共有方法请参见其基类Loader

.load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : null

url — 文件的URL或者路径,也可以为 Data URI.
onLoad — 加载完成时将调用。回调参数为将要加载的响应文本。
onProgress — 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含totalloaded字节.
onError — 在加载错误时被调用。

从URL中进行加载并将已经加载的AudioBuffer传递给onLoad。

src/loaders/AudioLoader.js