Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 如何在三个JS中播放音频_Audio_Three.js - Fatal编程技术网

Audio 如何在三个JS中播放音频

Audio 如何在三个JS中播放音频,audio,three.js,Audio,Three.js,我对Three.js音频和所有相关内容都有一些问题 当你用三个js打开页面时,如何制作一个.mp3文件来播放?我没有找到任何例子,任何教程,任何东西,任何地方都没有。我有以下代码: var listener = new THREE.AudioListener(); camera.add( listener ); // create a global audio source var sound = new THREE.Audio( listener ); var audioLoader =

我对Three.js音频和所有相关内容都有一些问题

当你用三个js打开页面时,如何制作一个.mp3文件来播放?我没有找到任何例子,任何教程,任何东西,任何地方都没有。我有以下代码:

var listener = new THREE.AudioListener();
camera.add( listener );

// create a global audio source
var sound = new THREE.Audio( listener );

var audioLoader = new THREE.AudioLoader();

//Load a sound and set it as the Audio object's buffer
audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
    sound.setBuffer( buffer );
    sound.setLoop(true);
    sound.setVolume(0.5);
    sound.play();
});
如何让它播放?

您应该包括:

//onProgress回调
函数(xhr){
log((xhr.loaded/xhr.total*100)+'%loaded');
},
//错误回调
功能(err){
log('Un error ha ocurrido');
}
试试下面的链接,我已经删除了音频播放不需要的大部分JavaScript代码。 它适用于m4a,但也适用于mp3和ogg格式

// Music by The War On Drugs - Thinking Of A Place

var camera, scene, renderer;

var stream = "https://cdn.rawgit.com/ellenprobst/web-audio-api-with-Threejs/57582104/lib/TheWarOnDrugs.m4a";

// init
function init() {
    // scene
    scene = new THREE.Scene();
    scene.fog = new THREE.FogExp2(0x01131e, 0.025);

    // camera
    camera = new THREE.PerspectiveCamera(55, window.innerWidth / window.innerHeight, 0.01, 1000);
    camera.position.set(0.1, -0.14, 0.8);

    // renderer
    renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });
    renderer.setSize(window.innerWidth, window.innerHeight);
    
    renderer.setClearColor("#01131E");
    document.body.appendChild(renderer.domElement);

    // AUDIO
    var audioLoader = new THREE.AudioLoader();
    var listener = new THREE.AudioListener();
    var audio = new THREE.Audio(listener);
    audioLoader.load(stream, function(buffer) {
        audio.setBuffer(buffer);
        audio.setLoop(true);
        audio.play();
    });


}


// animate
function animate() {

    requestAnimationFrame(animate);
    render();
}

// render
function render() {
    renderer.render(scene, camera);
}

init();
animate();


“我没有找到任何例子”好的,谢谢。因此,该示例中的代码是:var sound4=new THREE.Audio(listener);加载('sounds/Project_Utopia.ogg',函数(buffer){sound4.setBuffer(buffer);sound4.setLoop(true);sound4.setVolume(0.5);sound4.play();});当我的代码为:var sound=new THREE.Audio(listener)时;audioLoader=新的三个。audioLoader();audioLoader.load('sounds/sound.ogg',function(buffer){sound.setBuffer(buffer);sound.setLoop(true);sound.setVolume(0.5);sound.play();});但是,不行。浏览器控制台中有任何消息吗?只有一些纹理调整无效,但与此无关。这个场景实际上是滚动的,但是没有音频。我自己没有试过,但是为什么不看看Web音频API呢?Three.js可能不是在浏览器中播放音频的最佳库。。。这就是我要开始的地方: