Package aspect.example

Source Code of aspect.example.SoundDemo

package aspect.example;

import aspect.audio.AudioClip;
import aspect.audio.SoundPlayer;
import aspect.util.Angles;
import static aspect.core.AspectLauncher.*;
import static aspect.core.AspectRenderer.*;
import aspect.entity.Player;
import aspect.entity.behavior.Behavior;
import aspect.event.KeyEvent;
import static aspect.resources.Resources.*;
import aspect.util.Vector3;
import aspect.render.Material;
import aspect.render.ViewModel;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.lwjgl.LWJGLException;
import org.lwjgl.util.WaveData;
import org.lwjgl.input.Keyboard;

public class SoundDemo extends Behavior {

    private ViewModel cube;
    private Player player;
    private SoundPlayer sound;

    public static void main(String[] args) {
        run(800, 600, false, 60, new SoundDemo());
    }

    @Override
    public void onAdd() {
        Material material = loadMaterial(new File("textures/tex.jpg"));
        cube = box(material, 1, 1, 1);
        player = new Player(Vector3.zero());
        try {
            WaveData data = WaveData.create(new BufferedInputStream(new FileInputStream("sound/test.wav")));
            if (data == null) {
                throw new LWJGLException("data == null");
            }
            sound = new SoundPlayer(new AudioClip(data));
        } catch (LWJGLException | FileNotFoundException ex) {
            Logger.getLogger(SoundDemo.class.getName()).log(Level.SEVERE, null, ex);
        }
        addKeyListener(this);
    }

    @Override
    public void keyEvent(KeyEvent evt) {
        if (evt.key == Keyboard.KEY_F && evt.type) {
            sound.play();
        }
    }

    @Override
    public void update() {
        player.update();
    }

    @Override
    public void render() {
        if (Keyboard.isKeyDown(Keyboard.KEY_R)) {
            draw3D(cube, Vector3.zero(), Angles.zero());
        }
    }
}
TOP

Related Classes of aspect.example.SoundDemo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.