Meddelande

Minska
No announcement yet.

Problem att köra min applet med ljud och bild!

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Problem att köra min applet med ljud och bild!

    Hej! Jag har problem att köra min applet som jag har skapat. Har försökt med många olika förslag, bland annat startat om webbläsaren, testat att köra den i andra webbläsare osv. Det konstiga är att den fungerar utmärkt i appletviewer. Jag testar samma exempel som de gör i en bok jag har lånat (Java 2 bibeln). Min kod för mina klasser ser ut så här:

    Kod:
    import java.applet.*;
    import java.awt.Graphics;
    
    public class HelloApplet extends Applet {
    
    	public void init(){
    		resize(200, 150);
    	}
    	public void paint(Graphics g){
    		g.drawString("Hello world", 50, 100);
    	}
    
    }
    Och det här är klassen för min bild och mitt ljudklipp:

    Kod:
    import java.applet.*;
    import java.awt.*;
    
    public class HelloMedia extends HelloApplet {
    
    	private Image myImage;
    	private AudioClip myAudio;
    	
    	public void init(){
    		super.init();
    		
    		myImage = getImage(getCodeBase(), "images/test.gif");
    		myAudio = getAudioClip(getCodeBase(), "sound/sleep.au");
    	}
    	
    	public void paint(Graphics g){
    		g.drawImage(myImage, 0, 0, this);
    		super.paint(g);
    	}
    	
    	public void start(){
    		myAudio.loop();
    	}
    	
    	public void stop(){
    		myAudio.stop();
    	}
    
    }
    så här ser min html fil ut:

    Kod:
    <html>
    <head>
    <title>Hello world applet</title>
    </head>
    <body>
    applet
    <applet code="HelloMedia.class" width=200 height=150>
    </applet>
    </body>
    </html>
    (Notera att detta inte är en direkt seriös applet utan mera ett test för att se om det fungerar, vilket det inte vill göra ). Är det någon som vet om jag gör något fel eller hur jag kan åtgärda det, eftersom det fungerar i appletviewer? Här är en bild på hur det ser ut när jag försöker köra appleten:

    I bilden la jag även till mina mappar så ni kan se var mina filer ligger.
    Bifogade filer
    Last edited by Gramas19; 2014-06-09, 16:25.

  • #2
    Ingen som har något svar? :/

    Kommentera


    • #3
      2 timmar är väl inte så lång tid att vänta?

      har du provat att köra applikationen som en server och inte bara lokalt?

      visste inte ens att man höll på med <applet> kod längre i huvudtaget
      "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

      Kommentera


      • #4
        Boken är ju från 2001 så det kan förklara varför. Nej egentligen är det inte så länge fast jag har suttit och googlat och testat olika saker i ungefär 4 timmar och det känns väldigt länge isåfall. Vad använder man istället för <applet> nu då? Jag har bara testat att köra det lokalt men hur kan jag köra det som en server? Måste jag ladda upp det på en ftp-server nånstans där jag har ett webbhotell eller hur ska jag göra?

        Kommentera


        • #5
          Vad får du för värden av getCodeBase() när du kör koden i webbläsaren?
          Om det är hela sökvägen så kanske getImage och getAudioClip inte tycker om den formateringen?

          enligt din kod så ska sleep.au inte ligga i sound-katalogen.

          Kommentera


          • #6
            Ifall jag trycker på rutan där så får jag upp ett felmeddelande som säger så här:

            access denied ("java.io.FilePermission" "\C:\Java projekt\HelloWorldApplet\bin\images\test.gif" "read")

            Oj, jag hade gjort en test och flyttat den så i koden ska det egentligen stå sound/sleep.au.

            Kommentera


            • #7
              Jag gjorde ett test att ta bort bilden och musiken och istället använda g.fillOval() och då fungerade det, den ritade ut min oval och skrev ut Hello world.. Det måste alltså vara något som är fel med bilden och musiken? Men jag har ingen aning om vad :s

              Kommentera


              • #8
                En snabb sökning ger svaret att en Applet inte har rättigheter att läsa i filsystemet.
                Man kan tydligen signa sin kod med följande:
                [kod]
                javac AppletClass.java
                jar cvf AppletClass.jar AppletClass.class
                keytool -genkey -validity 3650 -keystore pKeyStore -alias keyName
                keytool -selfcert -keystore pKeyStore -alias keyName-validity 3650
                jarsigner -keystore pKeyStore AppletClass.jar keyName
                [/kod]
                Det är dock inget jag har testat.

                Det kanske fungerar bättre om du laddar sidan genom en webbserver så att du får en http-adress. Möjligt att java hanterar sökvägen till bild och ljud bättre då.

                Kommentera


                • #9
                  Tack! Ja ifall det är så att den inte får läsa i filsystemet så är ju det orsaken till att det inte fungerar eftersom AppletViewer visar det helt perfekt. Vet du någonstans jag kan skaffa ett gratis webbhotell då och lägga upp mina filer för att testas? Jag använde Passagen förut men det verkar inte fungera längre :/

                  Kommentera


                  • #10
                    Du kan installera webbserver på din egen dator för att testa.
                    IIS finns med till vissa versioner av Windows annars kan man installera Apache på de flesta andra OS.

                    Kommentera

                    Working...
                    X