package net.thirdy.blackmarket.samples; /** * Copyright (c) 2008, 2012 Oracle and/or its affiliates. * All rights reserved. Use is subject to license terms. */ import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.event.EventHandler; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.effect.Lighting; import javafx.scene.effect.Light; import javafx.scene.input.MouseEvent; import javafx.scene.layout.Pane; import javafx.scene.media.AudioClip; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; /** * A sample that demonstrates the basics of AudioClips. * * @see javafx.scene.media.AudioClip * @resource Note1.wav * @resource Note2.wav * @resource Note3.wav * @resource Note4.wav * @resource Note5.wav * @resource Note6.wav * @resource Note7.wav * @resource Note8.wav */ public final class AudioClipSample extends Application { private void init(Stage primaryStage) { Group root = new Group(); primaryStage.setResizable(false); primaryStage.setScene(new Scene(root, 400,400)); final AudioClip bar1Note = new AudioClip(AudioClipSample.class.getResource("/audio/TheFinalBoss.mp3").toString()); // new AudioClip("file:///F:/Mp3/Alternative/Third%20Eye%20Blind/Blue/01%20Anything.mp3"); Group rectangleGroup = new Group(); double xStart = 5.0; double xOffset = 30.0; double yPos = 180.0; double barWidth = 22.0; double barDepth = 7.0; Group base1Group = createRectangle(new Color(0.2, 0.12, 0.1, 1.0), xStart + 135, yPos + 20.0, barWidth*11.5, 10.0); Group base2Group = createRectangle(new Color(0.2, 0.12, 0.1, 1.0), xStart + 135, yPos - 20.0, barWidth*11.5, 10.0); Group bar1Group = createRectangle(Color.PURPLE, xStart + 1*xOffset, yPos, barWidth, 100.0); Group bar2Group = createRectangle(Color.BLUEVIOLET, xStart + 2*xOffset, yPos, barWidth, 95.0); Group bar3Group = createRectangle(Color.BLUE, xStart + 3*xOffset, yPos, barWidth, 90.0); Group bar4Group = createRectangle(Color.GREEN, xStart + 4*xOffset, yPos, barWidth, 85.0); Group bar5Group = createRectangle(Color.GREENYELLOW, xStart + 5*xOffset, yPos, barWidth, 80.0); Group bar6Group = createRectangle(Color.YELLOW, xStart + 6*xOffset, yPos, barWidth, 75.0); Group bar7Group = createRectangle(Color.ORANGE, xStart + 7*xOffset, yPos, barWidth, 70.0); Group bar8Group = createRectangle(Color.RED, xStart + 8*xOffset, yPos, barWidth, 65.0); bar1Group.setOnMousePressed(new EventHandler<MouseEvent>() { public void handle(MouseEvent me) { System.out.println(bar1Note.toString()); bar1Note.play(1.0); } }); Light.Point light = new Light.Point(); light.setX(-20); light.setY(-20); light.setZ(100); Lighting l = new Lighting(); l.setLight(light); l.setSurfaceScale(1.0f); bar1Group.setEffect(l); bar2Group.setEffect(l); bar3Group.setEffect(l); bar4Group.setEffect(l); bar5Group.setEffect(l); bar6Group.setEffect(l); bar7Group.setEffect(l); bar8Group.setEffect(l); rectangleGroup.getChildren().add(base1Group); rectangleGroup.getChildren().add(base2Group); rectangleGroup.getChildren().add(bar1Group); rectangleGroup.getChildren().add(bar2Group); rectangleGroup.getChildren().add(bar3Group); rectangleGroup.getChildren().add(bar4Group); rectangleGroup.getChildren().add(bar5Group); rectangleGroup.getChildren().add(bar6Group); rectangleGroup.getChildren().add(bar7Group); rectangleGroup.getChildren().add(bar8Group); rectangleGroup.setScaleX(1.8); rectangleGroup.setScaleY(1.8); rectangleGroup.setTranslateX(55.0); Pane pane = new Pane(); pane.getChildren().add(rectangleGroup); root.getChildren().add(pane); } public static Group createRectangle(Color color, double tx, double ty, double sx, double sy) { Group squareGroup = new Group(); Rectangle squareShape = new Rectangle(1.0, 1.0); squareShape.setFill(color); squareShape.setTranslateX(-0.5); squareShape.setTranslateY(-0.5); squareGroup.getChildren().add(squareShape); squareGroup.setTranslateX(tx); squareGroup.setTranslateY(ty); squareGroup.setScaleX(sx); squareGroup.setScaleY(sy); return squareGroup; } public double getSampleWidth() { return 400; } public double getSampleHeight() { return 400; } @Override public void start(Stage primaryStage) throws Exception { init(primaryStage); primaryStage.show(); } public static void main(String[] args) { launch(args); } }