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(). Zitieren
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. Zitieren
Kaeyu Geschrieben 2. Oktober 2006 Autor Geschrieben 2. Oktober 2006 geht leider auch nicht :S Zitieren
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 Zitieren
Kaeyu Geschrieben 2. Oktober 2006 Autor Geschrieben 2. Oktober 2006 ausgabe ist: /sound_datei.mid Zitieren
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 ? Zitieren
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). Zitieren
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); Zitieren
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? Zitieren
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(); Zitieren
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 Zitieren
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(); Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.