[Java] Sound im JApplet abspielen

Fragen zu allen anderen Programmiersprachen.
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

[Java] Sound im JApplet abspielen

Beitrag 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.
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: [Java] Sound im JApplet abspielen

Beitrag von DarkDragon »

Hast du dein Programm signiert? Fordert es die richtigen Rechte an?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
pyromane
Beiträge: 276
Registriert: 09.09.2010 14:10

Re: [Java] Sound im JApplet abspielen

Beitrag 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(); }
        
    }
PureBasic 5.21 LTS auf Windows 7 x64 (Intel i5 2500K, 8GB Ram, Nvidia GTX 780)
Antworten