package edu.gatech.cs2340.trydent.sample; import javafx.scene.input.MouseButton; import edu.gatech.cs2340.trydent.Audio; import edu.gatech.cs2340.trydent.Mouse; import edu.gatech.cs2340.trydent.TrydentEngine; /** * A basic audio example. * Use mouse middle to pause or play sound. * Click mouse primary or secondary for a sound effect. */ public class AudioExample implements Runnable { private static final String SONG = "edu/gatech/cs2340/trydent/sample/song.mp3"; private static final String SFX = "edu/gatech/cs2340/trydent/sample/sfx.mp3"; public static void main(String[] args) { TrydentEngine.start(); TrydentEngine.setWindowTitle("TrydentEngine - Audio Example"); TrydentEngine.setWindowSize(480, 480); TrydentEngine.runOnce(new AudioExample()); } private void togglePlaying() { if(Audio.isPlaying()) { Audio.pauseAudio(); } else { Audio.resumeAudio(); } } @Override public void run() { String song = getClass().getClassLoader().getResource(SONG).toString(); String sfx = getClass().getClassLoader().getResource(SFX).toString(); Audio.setMusic(song); Audio.setMasterVolume(0.1); TrydentEngine.runContinuously(() -> { if(Mouse.isMouseDownOnce(MouseButton.PRIMARY)) { Audio.createSoundEffect(sfx).setBalance(-1).setVolume(0.1).play(); } if(Mouse.isMouseDownOnce(MouseButton.SECONDARY)) { Audio.createSoundEffect(sfx).setBalance(1).setVolume(0.5).play(); } if(Mouse.isMouseDownOnce(MouseButton.MIDDLE)) { togglePlaying(); } }); } }