Kaeyu Geschrieben 2. Oktober 2006 Geschrieben 2. Oktober 2006 Tag auch, hab ein kleines Problemchen. Und zwar find ich nirgends, ich hab auch schon genug rumprobiert, etwas, wie ich Soundfiles die im Projektverzeichnis liegen, abspielen kann. bei URL file = new URL ("file:///sound_datei.mid"); wird auf C:/ gesucht. Und wenn ich´s mit URL file = new URL (getCodeBase(),"sound_datei.mid"); versuche, sagt mir der Compiler, dass er die Methode getCodeBase() nicht kennt - das gleiche auch bei getDocumentBase().
Pinhead Geschrieben 2. Oktober 2006 Geschrieben 2. Oktober 2006 ich bin mir nicht ganz sicher aber muss du ihm nicht noch sagen das er im aktuellen Verzeichnis suchen soll, also URL file = new URL ("file:///./sound_datei.mid"); Die Api sagt folgendes : If the spec's path component begins with a slash character "/" then the path is treated as absolute and the spec path replaces the context path.
Pinhead Geschrieben 2. Oktober 2006 Geschrieben 2. Oktober 2006 Dann lass dir doch mal mit file.getPath(); den Pfad der URL ausgeben. Vielleicht erkennen wir dann worans hakt
Pinhead Geschrieben 2. Oktober 2006 Geschrieben 2. Oktober 2006 Das sieht doch schon ganz richtig aus. Welches fehlerhafte Verhalten tritt den bei der Ausführung auf ?
Kaeyu Geschrieben 2. Oktober 2006 Autor Geschrieben 2. Oktober 2006 der sound wird nur ausgegeben, wenn die sound datei auf C:/ liegt und nur genau da, das wär dann als pfad C:/sound_datei.mid . da sie aber in C:/diesunddas/unddasunddies/ liegt, hört man nix (sie wird nicht abgespielt).
perdian Geschrieben 3. Oktober 2006 Geschrieben 3. Oktober 2006 Und wenn ich´s mit URL file = new URL (getCodeBase(),"sound_datei.mid"); versuche, sagt mir der Compiler, dass er die Methode getCodeBase() nicht kenntNatürlich nicht. Ich gehe mal davon aus, dass du diese Methoden aus deiner eigenen Klasse heraus aufrufst. Und solange du eben diese Methoden nicht implementiert hat wird kein Compiler dieser Welt wissen, wo er danach suchen soll. Zu deinem Problem: Ein wenig von hinten durch die Brust ins Auge und ungetestet aber funktionieren könnte: File currentDirectory = new File(".").getCanonicalFile(); URL currentURI = currentDirectory.toURI(); URI targetURI = currentURI.resolve("foo/bar/sound_datei.mid"); File targetFile = new File(targetURI);
Kaeyu Geschrieben 3. Oktober 2006 Autor Geschrieben 3. Oktober 2006 [edit] nachdem ich java.io.*; importiert habe kommen nur noch diese 2 fehler: C:\Dok.....\DOT.java:164: incompatible types found : java.net.URI required: java.net.URL URL currentURI = currentDirectory.toURI(); ^ C:\Dok.....\DOT.java:165: cannot find symbol symbol : method resolve(java.lang.String) location: class java.net.URL URI targetURI = currentURI.resolve("foo/bar/sound_datei.mid"); ^ ich denke mal mit "foo/bar/" meinst du das verzeichnis, wo die datei wirklich drin liegt oder?
perdian Geschrieben 3. Oktober 2006 Geschrieben 3. Oktober 2006 nachdem ich java.io.*; importiert habe kommen nur noch diese 2 fehler:Darum schrieb ich ungetestet. Ein wenig Mitdenken ist durchaus noch gefordert. In diesem Falle muss es heissen: URI currentURI = currentDirectory.toURI();
Kaeyu Geschrieben 3. Oktober 2006 Autor Geschrieben 3. Oktober 2006 Ein wenig Mitdenken ist durchaus noch gefordert. ;P ^^'' von "URI" hab ich noch nie was gehört und dadurch das du immer so super antworten gibst (wort wörtlich "super", fast wie ein "Guru" , hehe...^^''), dachte ich das ist schon richtig so. mal nebenbei(wo wir grad dabei sind), hm....wie starte ich denn jetzt so die datei?/ wie änder ich die URI wieder in URL (falls man das so machen soll)? denn newAudioClip(java.net.URL) in java.applet.Applet cannot be applied to (java.net.URI) Applet.newAudioClip(targetURI).loop(); und newAudioClip(java.net.URL) in java.applet.Applet cannot be applied to (java.io.File) Applet.newAudioClip(targetFile).loop(); danke schon mal im vorraus für eine professionelle antwort^^ mfg Kaeyu
perdian Geschrieben 3. Oktober 2006 Geschrieben 3. Oktober 2006 wie änder ich die URI wieder in URL (falls man das so machen soll)?Es gibt eine Java API - in der könnte man eventuell einfach mal nachsehen, was eine URI ist und wofür man sie verwenden kann. Dort steht dann unter anderem, dass man sie ganz einfach in eine URL überführen kann. URI fooAsURI = URI.create("foo/bar/"); URL fooAsURL = fooAsURI.toURL();
Kaeyu Geschrieben 4. Oktober 2006 Autor Geschrieben 4. Oktober 2006 Wenn ich eventuell auch mal die Zeit dafür bekommen würde, von meiner mum, dann würd ich das da auch finden. Doch da sie mich TOTAL einschränkt, bin ich nicht dazu in der Lage. P.S.: Es gibt genügend APIs, ich hab auch genügend Lesezeichen, aber die Zeit zum durchforsten des Ganzen fehlt halt. bitte,danke. mfg Kaeyu
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden