Seite 1 von 1

[Java] Sound im JApplet abspielen

Verfasst: 25.03.2011 08:30
von pyromane
Hallo, ich wollte für mein Spiel eine Mid File abspielen. Das klappt lokal auch super. Wenn das ganze über das Internet mache kommt kein Ton. Folgender Error kommt über die Java Konsole:

java.security.AccessControlException: access denied (java.io.FilePermission sound.mid read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at main.play_sound(main.java:88)
at main.init(main.java:73)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Also kann er nicht auf die Sound Datei zugreifen oder findet sie nicht. Alle Rechte (Chmod 777) hat er aber. Die main.class, player.class und ball.class + die sound.mid siegen alle im selben Verzeichniss.

Re: [Java] Sound im JApplet abspielen

Verfasst: 25.03.2011 10:53
von DarkDragon
Hast du dein Programm signiert? Fordert es die richtigen Rechte an?

Re: [Java] Sound im JApplet abspielen

Verfasst: 26.03.2011 16:38
von pyromane
Ich habe es nun so gelöst:

Code: Alles auswählen

    public void play_sound() {
        
        try{
            Sequence mySeq = MidiSystem.getSequence(new URL("http://XYZ.de/sounds/sound.mid"));
            Sequencer sequencer = MidiSystem.getSequencer();
            if (sequencer == null || mySeq==null)
                throw new MidiUnavailableException();
            sequencer.open();
            sequencer.setSequence(mySeq);
            sequencer.start();
        }catch(Exception e){ e.printStackTrace(); }
        
    }