sound mit behavior geht nicht

Status
Nicht offen für weitere Antworten.

blubbbla

Mitglied
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);
    } 
    


}
 

Illuvatar

Top Contributor
Ich glaube, du machst es dir etwas kompliziert ;)

Wenn der Sound an einer ganz genauen Stelle sein soll, brauchst du schon den PointSound, aber um einfach Sound abzuspielen, schau dir mal den BackgroundSound an.
 

blubbbla

Mitglied
ich habs hinbekommen - es lag der der url form.

aber jetzt will ich den sound mittels behavior ein und ausschlaten. und das geht einfach nicht. ich hatte das schon mal mit einem licht gemacht und hab das der soundquelle angepasst. aber irgendwie passiert nichts :-(

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.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(10.0f,1.0f),
                 new Point2f(20.0f,0.5f),
                 new Point2f(30.0f,0.0f)
           };

         PointSound mySound = new PointSound();
         mySound.setCapability(PointSound.ALLOW_ENABLE_WRITE);
         mySound.setSoundData(myWave);
         mySound.setEnable(false);
         mySound.setInitialGain(1.0f);
         mySound.setLoop(0);
         mySound.setPosition(new Point3f(0.0f,0.0f,0.0f));
         mySound.setDistanceGain(myAtten);
         
         //BoundingSphere myBounds = new BoundingSphere();
          //mySound.setSchedulingBounds(myBounds);
          
          SoundBehavior mySoundBehavior = new SoundBehavior(mySound);
          mySoundBehavior.setSchedulingBounds(new BoundingSphere());
          objRoot.addChild(mySoundBehavior);
          
          //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);
    } 
    


}

Code:
import java.awt.event.*;
import java.util.Enumeration;
import javax.media.j3d.*;

public class SoundBehavior extends Behavior{
       private PointSound psound;
       private WakeupCondition cond;
       
       SoundBehavior(PointSound psound)
       {
         this.psound = psound;
       }

       public void initialize(){
         cond = new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED);
         this.wakeupOn(cond);
       }
       
       public void processStimulus(Enumeration criteria){
            WakeupOnAWTEvent event = (WakeupOnAWTEvent) criteria.nextElement();
            KeyEvent key = (KeyEvent) event.getAWTEvent()[0];
            char c = key.getKeyChar();
            
            switch(c){
              case '1': this.psound.setEnable(true);break;
             // case '0': this.psound.setEnable(false);break;
              default: break;
            }
            
            this.wakeupOn(cond);
       }
}
 

Illuvatar

Top Contributor
Das einzige was mir da auf Anhieb einfällt, ist, dass du die Zeile 27 von dem SoundBehavior vielleicht besser nicht als Kommentar machen solltest?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
L Audio-volume /w input Sound.sampled Spiele- und Multimedia-Programmierung 1
D Java sound pulseaudio Spiele- und Multimedia-Programmierung 0
K Sound im loop abspielen, wenn boolscher wert true ist Spiele- und Multimedia-Programmierung 3
M Sound Problem Spiele- und Multimedia-Programmierung 3
M Sound Engin Problem 2 Spiele- und Multimedia-Programmierung 2
J Sound und Musik Spiele- und Multimedia-Programmierung 4
C virtueller stereomix (java sound API) Spiele- und Multimedia-Programmierung 0
I Sound Dateien abspielen Spiele- und Multimedia-Programmierung 9
C Sound einfügen und abspielen Spiele- und Multimedia-Programmierung 6
G Sound-Sampling: Sinuston; kein Fehler, aber auch kein Ton :-( Spiele- und Multimedia-Programmierung 3
M Bilderwechsel in Video an Sound anpassen Spiele- und Multimedia-Programmierung 2
A Problem mit Sound Spiele- und Multimedia-Programmierung 5
F Kein Sound bei javazoom Spiele- und Multimedia-Programmierung 2
J Sound einbinden funktioniert nicht Spiele- und Multimedia-Programmierung 13
S Java Sound-API stagniert Spiele- und Multimedia-Programmierung 16
F Einen Sound mit veränderter Tonhöhe und Geschwindigkeit abspielen - Hilfe erbeten Spiele- und Multimedia-Programmierung 29
H Java Sound: WAVE Format17 einlesen. Spiele- und Multimedia-Programmierung 2
Kr0e Java Sound API - DataLine Spiele- und Multimedia-Programmierung 2
S testen ob Sound läuft Spiele- und Multimedia-Programmierung 3
J Windows Sound Aufnehmen Spiele- und Multimedia-Programmierung 10
C Alles hängt, wenn ein Sound abgespielt wird Spiele- und Multimedia-Programmierung 9
K javax.sound.sampled.Clip clone() Spiele- und Multimedia-Programmierung 2
C Java3D Sound spielt nur einen Sound ab. Spiele- und Multimedia-Programmierung 8
G Ortsabhängiger Sound Spiele- und Multimedia-Programmierung 5
T Sound schneller abspielen Spiele- und Multimedia-Programmierung 4
S Java Sound - Skipping in .mp3 Files und Bug (Bitte überprüfenl) Spiele- und Multimedia-Programmierung 14
G Beste Sound Api Spiele- und Multimedia-Programmierung 2
C Java Sound API Clip.Close() Problem Spiele- und Multimedia-Programmierung 1
Zettelkasten Spezialwiedergabe von Sound vorzeitig beenden Spiele- und Multimedia-Programmierung 3
A Sound Amplitude ermitteln bzw Sound auslöschen Spiele- und Multimedia-Programmierung 4
P Sound auf zwei Lautsprechern getrennt abspielen Spiele- und Multimedia-Programmierung 9
G javafx MediaPlayer sound problem Spiele- und Multimedia-Programmierung 2
Developer_X Sound Lautstärke ohne spezifische API regulieren Spiele- und Multimedia-Programmierung 3
M Java Sound API : Zuordnung Port-Mixer zu Input-Mixer Spiele- und Multimedia-Programmierung 9
P Java Sound OutOfMemoryError Spiele- und Multimedia-Programmierung 2
T Java Sound Probleme Spiele- und Multimedia-Programmierung 8
Pithecanthropus Sound geht nicht Spiele- und Multimedia-Programmierung 6
Dragonfire Java Sound API - Lautstärke ändert sich nicht Spiele- und Multimedia-Programmierung 2
N sound absoielen Spiele- und Multimedia-Programmierung 3
DEvent Java sound Bibliothek Spiele- und Multimedia-Programmierung 11
P Sound Datein mit JAVA zusammenstellen?! Spiele- und Multimedia-Programmierung 3
Developer_X Java3D Point Sound Spiele- und Multimedia-Programmierung 71
M Sound-Lösung für Java/JMF Spiele- und Multimedia-Programmierung 8
0 Sound Spiele- und Multimedia-Programmierung 5
S sound zuverlässig wiedergeben Spiele- und Multimedia-Programmierung 15
G Sound Probleme Spiele- und Multimedia-Programmierung 2
D Sound und Bilddateien vorladen Spiele- und Multimedia-Programmierung 7
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
A Java3D: Behavior scheduling bounds Spiele- und Multimedia-Programmierung 3
S Behavior deaktivieren/aktivieren - erster Klick geht nicht Spiele- und Multimedia-Programmierung 2
F Behavior? Spiele- und Multimedia-Programmierung 2
Fabel TicTacToe MiniMax Algorithmus geht nicht Spiele- und Multimedia-Programmierung 4
Z Minecraft Multiplayer geht nicht Spiele- und Multimedia-Programmierung 2
R Laufbewegung geht nicht.. Spiele- und Multimedia-Programmierung 1
J Java3D - Textur laden geht nicht Spiele- und Multimedia-Programmierung 9
A Jogl-Projekt unter 32-Bit kompiliert und unter 64-Bit ausführen, geht das überhaubt ?? Spiele- und Multimedia-Programmierung 9
R Probleme mit JPanel!KeyListener geht nicht Spiele- und Multimedia-Programmierung 6
A Patter Array Eintrag vergleichen geht nicht!!! Spiele- und Multimedia-Programmierung 3
D Mühle geht nicht Spiele- und Multimedia-Programmierung 10
Developer_X Texturing-geht das auch anders? Spiele- und Multimedia-Programmierung 5
R Nachträgliches ändern von Vertex Arrays. Wie geht das? Spiele- und Multimedia-Programmierung 3
G java3dgamesSDK geht nicht. Spiele- und Multimedia-Programmierung 2
D complexObj.setAppearance(paneAppearance) geht nicht Spiele- und Multimedia-Programmierung 8
T GBA Emulator machen - wie geht das? Spiele- und Multimedia-Programmierung 6
J Es geht um JAVA 2D Spiele- und Multimedia-Programmierung 12
B Wie geht das ?? Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben