ich höre einfach nichts. ich möchte einen sound abspielen. gibt es sowas wie ne play funktion? muss dazu sagen, dass ich das noch nie gemacht habe und mir etwas zus. gesucht habe. aber jetzt kommt ich nicht mehr weiter :-(
Code:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import java.io.*;
// sound renders a single, rotating cube.
public class sound extends Applet {
public BranchGroup createSceneGraph() {
// Create the root of the branch graph
try{
FileInputStream stream = new FileInputStream("sound/blubb.wav");
MediaContainer media = new MediaContainer(stream);
media.setCacheEnable(true);
}
catch (FileNotFoundException e){};
BranchGroup objRoot = new BranchGroup();
MediaContainer myWave = new MediaContainer("file:./sound/blubb.wav");
Point2f[] myAtten = {
new Point2f(0.0f,1.0f),
new Point2f(0.0f,0.5f),
new Point2f(0.0f,0.0f)
};
PointSound mySound = new PointSound();
mySound.setSoundData(myWave);
mySound.setEnable(true);
mySound.setInitialGain(1.0f);
mySound.setLoop(-1);
mySound.setPosition(new Point3f(0.0f,1.0f,0.0f));
mySound.setDistanceGain(myAtten);
BoundingSphere myBounds = new BoundingSphere(new Point3d(),1000.0);
mySound.setSchedulingBounds(myBounds);
objRoot.addChild(mySound);
return objRoot;
}
public sound() {
setLayout(new BorderLayout());
Canvas3D canvas3D = new Canvas3D(null);
add("Center", canvas3D);
BranchGroup scene = createSceneGraph();
// SimpleUniverse is a Convenience Utility class
SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
AudioDevice audioDev = simpleU.getViewer().createAudioDevice();
// This will move the ViewPlatform back a bit so the
// objects in the scene can be viewed.
simpleU.getViewingPlatform().setNominalViewingTransform();
simpleU.addBranchGraph(scene);
}
// The following allows this to be run as an application
// as well as an applet
public static void main(String[] args) {
Frame frame = new MainFrame(new sound(), 256, 256);
}
}