159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta/* 259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * Copyright (c) 2009-2010 jMonkeyEngine All rights reserved. 359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * 459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * Redistribution and use in source and binary forms, with or without 559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * modification, are permitted provided that the following conditions are met: 659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * * * Redistributions of source code must retain the above copyright notice, 759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * this list of conditions and the following disclaimer. 859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * 959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * * Redistributions in binary form must reproduce the above copyright 1059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * notice, this list of conditions and the following disclaimer in the 1159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * documentation and/or other materials provided with the distribution. 1259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * 1359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * * Neither the name of 'jMonkeyEngine' nor the names of its contributors 1459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * may be used to endorse or promote products derived from this software 1559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * without specific prior written permission. 1659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * 1759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 1859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 2159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta * POSSIBILITY OF SUCH DAMAGE. 2859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta */ 2959b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapackage jme3test.audio; 3059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 3159b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.app.SimpleApplication; 3259b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.audio.AudioNode; 3359b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.audio.Environment; 3459b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.material.Material; 3559b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.math.ColorRGBA; 3659b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.math.Vector3f; 3759b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.scene.Geometry; 3859b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartaimport com.jme3.scene.shape.Box; 3959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4059b2e6871c65f58fdad78cd7229c292f6a177578Scott Bartapublic class TestAmbient extends SimpleApplication { 4159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta private AudioNode nature, waves; 4359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public static void main(String[] args) { 4559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta TestAmbient test = new TestAmbient(); 4659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta test.start(); 4759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 4859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 4959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 5059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public void simpleInitApp() { 5159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta float[] eax = new float[]{15, 38.0f, 0.300f, -1000, -3300, 0, 5259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f, 0.00f, 5359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 0.00f, -229, 0.088f, 0.00f, 0.00f, 0.00f, 0.125f, 1.000f, 5459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f}; 5559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Environment env = new Environment(eax); 5659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta audioRenderer.setEnvironment(env); 5759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 5859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta waves = new AudioNode(assetManager, "Sound/Environment/Ocean Waves.ogg", false); 5959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta waves.setPositional(true); 6059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta waves.setLocalTranslation(new Vector3f(0, 0,0)); 6159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta waves.setMaxDistance(100); 6259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta waves.setRefDistance(5); 6359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 6459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta nature = new AudioNode(assetManager, "Sound/Environment/Nature.ogg", true); 6559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta nature.setVolume(3); 6659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 6759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta waves.playInstance(); 6859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta nature.play(); 6959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 7059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta // just a blue box to mark the spot 7159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Box box1 = new Box(Vector3f.ZERO, .5f, .5f, .5f); 7259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Geometry player = new Geometry("Player", box1); 7359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta Material mat1 = new Material(assetManager, 7459b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta "Common/MatDefs/Misc/Unshaded.j3md"); 7559b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta mat1.setColor("Color", ColorRGBA.Blue); 7659b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta player.setMaterial(mat1); 7759b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta rootNode.attachChild(player); 7859b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 7959b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta 8059b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta @Override 8159b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta public void simpleUpdate(float tpf) { 8259b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta } 8359b2e6871c65f58fdad78cd7229c292f6a177578Scott Barta} 84