Zum Inhalt springen

Applikationen und Sound...hm....?


Empfohlene Beiträge

Geschrieben

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().

Geschrieben

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.

Geschrieben

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).

Geschrieben
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
Natü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);

Geschrieben

[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?

Geschrieben
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();

Geschrieben
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

Geschrieben
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();

Geschrieben

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...