Audio tests: Used non-deprecated constructor, replaced "AudioApp" class by SimpleApplication
git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8149 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
This commit is contained in:
parent
d613ed7c84
commit
1acd324d02
@ -1,84 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are
|
|
||||||
* met:
|
|
||||||
*
|
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
|
||||||
* documentation and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package jme3test.audio;
|
|
||||||
|
|
||||||
import com.jme3.audio.AudioRenderer;
|
|
||||||
import com.jme3.asset.AssetManager;
|
|
||||||
import com.jme3.asset.DesktopAssetManager;
|
|
||||||
import com.jme3.audio.AudioContext;
|
|
||||||
import com.jme3.audio.Listener;
|
|
||||||
import com.jme3.system.AppSettings;
|
|
||||||
import com.jme3.system.JmeSystem;
|
|
||||||
|
|
||||||
public class AudioApp {
|
|
||||||
|
|
||||||
private static final float UPDATE_RATE = 0.01f;
|
|
||||||
|
|
||||||
protected AssetManager assetManager;
|
|
||||||
protected Listener listener;
|
|
||||||
protected AudioRenderer audioRenderer;
|
|
||||||
|
|
||||||
public AudioApp(){
|
|
||||||
AppSettings settings = new AppSettings(true);
|
|
||||||
settings.setRenderer(null); // force dummy renderer (?)
|
|
||||||
settings.setAudioRenderer(AppSettings.LWJGL_OPENAL);
|
|
||||||
audioRenderer = JmeSystem.newAudioRenderer(settings);
|
|
||||||
audioRenderer.initialize();
|
|
||||||
assetManager = new DesktopAssetManager(true);
|
|
||||||
|
|
||||||
listener = new Listener();
|
|
||||||
audioRenderer.setListener(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void initAudioApp(){
|
|
||||||
AudioContext.setAudioRenderer(audioRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateAudioApp(float tpf){
|
|
||||||
}
|
|
||||||
|
|
||||||
public void start(){
|
|
||||||
initAudioApp();
|
|
||||||
|
|
||||||
while (true){
|
|
||||||
updateAudioApp(UPDATE_RATE);
|
|
||||||
audioRenderer.update(UPDATE_RATE);
|
|
||||||
|
|
||||||
try{
|
|
||||||
Thread.sleep((int) (UPDATE_RATE * 1000f));
|
|
||||||
}catch (InterruptedException ex){
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,13 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2010 jMonkeyEngine All rights reserved.
|
||||||
* All rights reserved.
|
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* met:
|
* * * Redistributions of source code must retain the above copyright notice,
|
||||||
*
|
* this list of conditions and the following disclaimer.
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
*
|
*
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
@ -17,32 +14,28 @@
|
|||||||
* may be used to endorse or promote products derived from this software
|
* may be used to endorse or promote products derived from this software
|
||||||
* without specific prior written permission.
|
* without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package jme3test.audio;
|
package jme3test.audio;
|
||||||
|
|
||||||
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.audio.AudioNode;
|
import com.jme3.audio.AudioNode;
|
||||||
//import com.jme3.audio.PointAudioSource;
|
import com.jme3.audio.Environment;
|
||||||
import com.jme3.math.FastMath;
|
|
||||||
import com.jme3.math.Vector3f;
|
import com.jme3.math.Vector3f;
|
||||||
|
|
||||||
public class TestAmbient extends AudioApp {
|
public class TestAmbient extends SimpleApplication {
|
||||||
|
|
||||||
private AudioNode river, nature, waves;
|
private AudioNode nature, waves;
|
||||||
// private PointAudioSource waves;
|
|
||||||
private float time = 0;
|
|
||||||
private float nextTime = 1;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
TestAmbient test = new TestAmbient();
|
TestAmbient test = new TestAmbient();
|
||||||
@ -50,38 +43,27 @@ public class TestAmbient extends AudioApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initAudioApp(){
|
public void simpleInitApp() {
|
||||||
|
float[] eax = new float[]{15, 38.0f, 0.300f, -1000, -3300, 0,
|
||||||
|
1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f, 0.00f,
|
||||||
|
0.00f, -229, 0.088f, 0.00f, 0.00f, 0.00f, 0.125f, 1.000f,
|
||||||
|
0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f};
|
||||||
|
Environment env = new Environment(eax);
|
||||||
|
audioRenderer.setEnvironment(env);
|
||||||
|
|
||||||
waves = new AudioNode(assetManager, "Sound/Environment/Ocean Waves.ogg", false);
|
waves = new AudioNode(assetManager, "Sound/Environment/Ocean Waves.ogg", false);
|
||||||
waves.setPositional(true);
|
waves.setPositional(true);
|
||||||
|
|
||||||
nature = new AudioNode(assetManager, "Sound/Environment/Nature.ogg", true);
|
|
||||||
// river = new AudioSource(manager, "sounds/river.ogg");
|
|
||||||
|
|
||||||
// float[] eax = new float[]
|
|
||||||
// {15, 38.0f, 0.300f, -1000, -3300, 0, 1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f,0.00f,0.00f, -229, 0.088f, 0.00f,0.00f,0.00f, 0.125f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f }
|
|
||||||
// ;
|
|
||||||
//
|
|
||||||
// Environment env = new Environment(eax);
|
|
||||||
// ar.setEnvironment(env);
|
|
||||||
|
|
||||||
waves.setLocalTranslation(new Vector3f(4, -1, 30));
|
waves.setLocalTranslation(new Vector3f(4, -1, 30));
|
||||||
waves.setMaxDistance(5);
|
waves.setMaxDistance(5);
|
||||||
waves.setRefDistance(1);
|
waves.setRefDistance(1);
|
||||||
|
|
||||||
|
nature = new AudioNode(assetManager, "Sound/Environment/River.ogg", true);
|
||||||
nature.setVolume(3);
|
nature.setVolume(3);
|
||||||
audioRenderer.playSourceInstance(waves);
|
audioRenderer.playSourceInstance(waves);
|
||||||
audioRenderer.playSource(nature);
|
audioRenderer.playSource(nature);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAudioApp(float tpf){
|
public void simpleUpdate(float tpf) {
|
||||||
time += tpf;
|
|
||||||
|
|
||||||
if (time > nextTime){
|
|
||||||
|
|
||||||
time = 0;
|
|
||||||
nextTime = FastMath.nextRandomFloat() * 2 + 0.5f;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
@ -32,12 +32,10 @@
|
|||||||
|
|
||||||
package jme3test.audio;
|
package jme3test.audio;
|
||||||
|
|
||||||
import com.jme3.asset.plugins.FileLocator;
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.audio.AudioNode;
|
import com.jme3.audio.AudioNode;
|
||||||
import com.jme3.audio.Environment;
|
import com.jme3.audio.Environment;
|
||||||
import com.jme3.audio.LowPassFilter;
|
|
||||||
import com.jme3.math.FastMath;
|
import com.jme3.math.FastMath;
|
||||||
import com.jme3.math.Quaternion;
|
|
||||||
import com.jme3.math.Vector3f;
|
import com.jme3.math.Vector3f;
|
||||||
import org.lwjgl.openal.AL10;
|
import org.lwjgl.openal.AL10;
|
||||||
import org.lwjgl.openal.AL11;
|
import org.lwjgl.openal.AL11;
|
||||||
@ -45,31 +43,23 @@ import org.lwjgl.openal.AL11;
|
|||||||
/**
|
/**
|
||||||
* Test Doppler Effect
|
* Test Doppler Effect
|
||||||
*/
|
*/
|
||||||
public class TestDoppler extends AudioApp {
|
public class TestDoppler extends SimpleApplication {
|
||||||
|
|
||||||
private AudioNode ufo;
|
private AudioNode ufo;
|
||||||
|
|
||||||
private float x = 20, z = 0;
|
private float x = 20, z = 0;
|
||||||
|
|
||||||
private float rate = -0.05f;
|
private float rate = -0.05f;
|
||||||
private float xDist = 20;
|
private float xDist = 20;
|
||||||
private float zDist = 5;
|
private float zDist = 5;
|
||||||
|
|
||||||
private float angle = FastMath.TWO_PI;
|
private float angle = FastMath.TWO_PI;
|
||||||
|
|
||||||
private LowPassFilter filter = new LowPassFilter(1, 1);
|
|
||||||
|
|
||||||
public static void main(String[] args){
|
public static void main(String[] args){
|
||||||
TestDoppler test = new TestDoppler();
|
TestDoppler test = new TestDoppler();
|
||||||
test.start();
|
test.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initAudioApp(){
|
public void simpleInitApp(){
|
||||||
Quaternion q = new Quaternion();
|
|
||||||
q.lookAt(new Vector3f(0, 0, -1f), Vector3f.UNIT_Y);
|
|
||||||
listener.setRotation(q);
|
|
||||||
|
|
||||||
audioRenderer.setEnvironment(Environment.Dungeon);
|
audioRenderer.setEnvironment(Environment.Dungeon);
|
||||||
AL10.alDistanceModel(AL11.AL_EXPONENT_DISTANCE);
|
AL10.alDistanceModel(AL11.AL_EXPONENT_DISTANCE);
|
||||||
|
|
||||||
@ -83,7 +73,7 @@ public class TestDoppler extends AudioApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAudioApp(float tpf){
|
public void simpleUpdate(float tpf){
|
||||||
//float x = (float) (Math.cos(angle) * xDist);
|
//float x = (float) (Math.cos(angle) * xDist);
|
||||||
float dx = (float) Math.sin(angle) * xDist;
|
float dx = (float) Math.sin(angle) * xDist;
|
||||||
|
|
||||||
@ -107,7 +97,8 @@ public class TestDoppler extends AudioApp {
|
|||||||
ufo.setLocalTranslation(x, 0, z);
|
ufo.setLocalTranslation(x, 0, z);
|
||||||
ufo.updateGeometricState();
|
ufo.updateGeometricState();
|
||||||
|
|
||||||
System.out.println("LOC: " + (int)x +", " + (int)z + ", VEL: " + (int)dx + ", " + (int)dz);
|
System.out.println("LOC: " + (int)x +", " + (int)z +
|
||||||
|
", VEL: " + (int)dx + ", " + (int)dz);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -32,10 +32,11 @@
|
|||||||
|
|
||||||
package jme3test.audio;
|
package jme3test.audio;
|
||||||
|
|
||||||
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.asset.plugins.UrlLocator;
|
import com.jme3.asset.plugins.UrlLocator;
|
||||||
import com.jme3.audio.AudioNode;
|
import com.jme3.audio.AudioNode;
|
||||||
|
|
||||||
public class TestMusicStreaming extends AudioApp {
|
public class TestMusicStreaming extends SimpleApplication {
|
||||||
|
|
||||||
public static void main(String[] args){
|
public static void main(String[] args){
|
||||||
TestMusicStreaming test = new TestMusicStreaming();
|
TestMusicStreaming test = new TestMusicStreaming();
|
||||||
@ -43,13 +44,13 @@ public class TestMusicStreaming extends AudioApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAudioApp(float tpf){
|
public void simpleInitApp(){
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void initAudioApp(){
|
|
||||||
assetManager.registerLocator("http://www.vorbis.com/music/", UrlLocator.class);
|
assetManager.registerLocator("http://www.vorbis.com/music/", UrlLocator.class);
|
||||||
AudioNode src = new AudioNode(assetManager, "Lumme-Badloop.ogg", true);
|
AudioNode src = new AudioNode(assetManager, "Lumme-Badloop.ogg", true);
|
||||||
audioRenderer.playSource(src);
|
audioRenderer.playSource(src);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void simpleUpdate(float tpf){}
|
||||||
|
|
||||||
}
|
}
|
@ -32,10 +32,11 @@
|
|||||||
|
|
||||||
package jme3test.audio;
|
package jme3test.audio;
|
||||||
|
|
||||||
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.audio.AudioNode;
|
import com.jme3.audio.AudioNode;
|
||||||
import com.jme3.audio.LowPassFilter;
|
import com.jme3.audio.LowPassFilter;
|
||||||
|
|
||||||
public class TestOgg extends AudioApp {
|
public class TestOgg extends SimpleApplication {
|
||||||
|
|
||||||
private AudioNode src;
|
private AudioNode src;
|
||||||
|
|
||||||
@ -45,19 +46,19 @@ public class TestOgg extends AudioApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initAudioApp(){
|
public void simpleInitApp(){
|
||||||
System.out.println("Playing without filter");
|
System.out.println("Playing without filter");
|
||||||
src = new AudioNode(audioRenderer, assetManager, "Sound/Effects/Foot steps.ogg", true);
|
src = new AudioNode(assetManager, "Sound/Effects/Foot steps.ogg", true);
|
||||||
audioRenderer.playSource(src);
|
audioRenderer.playSource(src);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAudioApp(float tpf){
|
public void simpleUpdate(float tpf){
|
||||||
if (src.getStatus() != AudioNode.Status.Playing){
|
if (src.getStatus() != AudioNode.Status.Playing){
|
||||||
audioRenderer.deleteAudioData(src.getAudioData());
|
audioRenderer.deleteAudioData(src.getAudioData());
|
||||||
|
|
||||||
System.out.println("Playing with low pass filter");
|
System.out.println("Playing with low pass filter");
|
||||||
src = new AudioNode(audioRenderer, assetManager, "Sound/Effects/Foot steps.ogg", true);
|
src = new AudioNode(assetManager, "Sound/Effects/Foot steps.ogg", true);
|
||||||
src.setDryFilter(new LowPassFilter(1f, .1f));
|
src.setDryFilter(new LowPassFilter(1f, .1f));
|
||||||
src.setVolume(3);
|
src.setVolume(3);
|
||||||
audioRenderer.playSource(src);
|
audioRenderer.playSource(src);
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2010 jMonkeyEngine All rights reserved.
|
||||||
* All rights reserved.
|
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* met:
|
* * * Redistributions of source code must retain the above copyright notice,
|
||||||
*
|
* this list of conditions and the following disclaimer.
|
||||||
* * Redistributions of source code must retain the above copyright
|
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
*
|
*
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
@ -17,28 +14,27 @@
|
|||||||
* may be used to endorse or promote products derived from this software
|
* may be used to endorse or promote products derived from this software
|
||||||
* without specific prior written permission.
|
* without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package jme3test.audio;
|
package jme3test.audio;
|
||||||
|
|
||||||
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.audio.AudioNode;
|
import com.jme3.audio.AudioNode;
|
||||||
import com.jme3.audio.Environment;
|
import com.jme3.audio.Environment;
|
||||||
//import com.jme3.audio.PointAudioSource;
|
|
||||||
import com.jme3.math.FastMath;
|
import com.jme3.math.FastMath;
|
||||||
import com.jme3.math.Vector3f;
|
import com.jme3.math.Vector3f;
|
||||||
|
|
||||||
public class TestReverb extends AudioApp {
|
public class TestReverb extends SimpleApplication {
|
||||||
|
|
||||||
private AudioNode src;
|
private AudioNode src;
|
||||||
private float time = 0;
|
private float time = 0;
|
||||||
@ -50,20 +46,20 @@ public class TestReverb extends AudioApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initAudioApp(){
|
public void simpleInitApp() {
|
||||||
src = new AudioNode(audioRenderer, assetManager, "Sound/Effects/Bang.wav");
|
src = new AudioNode(assetManager, "Sound/Effects/Bang.wav");
|
||||||
|
|
||||||
float[] eax = new float[]
|
float[] eax = new float[]{15, 38.0f, 0.300f, -1000, -3300, 0,
|
||||||
{15, 38.0f, 0.300f, -1000, -3300, 0, 1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f,0.00f,0.00f, -229, 0.088f, 0.00f,0.00f,0.00f, 0.125f, 1.000f, 0.250f, 0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f }
|
1.49f, 0.54f, 1.00f, -2560, 0.162f, 0.00f, 0.00f, 0.00f,
|
||||||
;
|
-229, 0.088f, 0.00f, 0.00f, 0.00f, 0.125f, 1.000f, 0.250f,
|
||||||
|
0.000f, -5.0f, 5000.0f, 250.0f, 0.00f, 0x3f};
|
||||||
// ar.setEnvironment(new Environment(eax));
|
audioRenderer.setEnvironment(new Environment(eax));
|
||||||
Environment env = Environment.Cavern;
|
Environment env = Environment.Cavern;
|
||||||
audioRenderer.setEnvironment(env);
|
audioRenderer.setEnvironment(env);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAudioApp(float tpf){
|
public void simpleUpdate(float tpf) {
|
||||||
time += tpf;
|
time += tpf;
|
||||||
|
|
||||||
if (time > nextTime) {
|
if (time > nextTime) {
|
||||||
@ -80,5 +76,4 @@ public class TestReverb extends AudioApp {
|
|||||||
nextTime = FastMath.nextRandomFloat() * 2 + 0.5f;
|
nextTime = FastMath.nextRandomFloat() * 2 + 0.5f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2010 jMonkeyEngine
|
* Copyright (c) 2009-2010 jMonkeyEngine All rights reserved.
|
||||||
* All rights reserved.
|
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are
|
* modification, are permitted provided that the following conditions are met:
|
||||||
* met:
|
* *
|
||||||
*
|
* * Redistributions of source code must retain the above copyright notice,
|
||||||
* * Redistributions of source code must retain the above copyright
|
* this list of conditions and the following disclaimer.
|
||||||
* notice, this list of conditions and the following disclaimer.
|
|
||||||
*
|
*
|
||||||
* * Redistributions in binary form must reproduce the above copyright
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
* notice, this list of conditions and the following disclaimer in the
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
@ -17,24 +15,24 @@
|
|||||||
* may be used to endorse or promote products derived from this software
|
* may be used to endorse or promote products derived from this software
|
||||||
* without specific prior written permission.
|
* without specific prior written permission.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package jme3test.audio;
|
package jme3test.audio;
|
||||||
|
|
||||||
|
import com.jme3.app.SimpleApplication;
|
||||||
import com.jme3.audio.AudioNode;
|
import com.jme3.audio.AudioNode;
|
||||||
|
|
||||||
public class TestWav extends AudioApp {
|
public class TestWav extends SimpleApplication {
|
||||||
|
|
||||||
private float time = 0;
|
private float time = 0;
|
||||||
private AudioNode src;
|
private AudioNode src;
|
||||||
@ -44,17 +42,10 @@ public class TestWav extends AudioApp {
|
|||||||
test.start();
|
test.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sleep(float time){
|
|
||||||
try{
|
|
||||||
Thread.sleep((long) (time * 1000));
|
|
||||||
}catch (InterruptedException ex){
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateAudioApp(float tpf){
|
public void simpleUpdate(float tpf) {
|
||||||
time += tpf;
|
time += tpf;
|
||||||
if (time > .1f){
|
if (time > 1f) {
|
||||||
audioRenderer.playSourceInstance(src);
|
audioRenderer.playSourceInstance(src);
|
||||||
time = 0;
|
time = 0;
|
||||||
}
|
}
|
||||||
@ -62,9 +53,8 @@ public class TestWav extends AudioApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initAudioApp(){
|
public void simpleInitApp() {
|
||||||
src = new AudioNode(audioRenderer, assetManager, "Sound/Effects/Gun.wav", false);
|
src = new AudioNode(assetManager, "Sound/Effects/Gun.wav", false);
|
||||||
src.setLooping(false);
|
src.setLooping(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user