Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Die Codebeispiele habe ich natürlich schon probiert.
Was muss ich abändern um im Player eine mp3 statt einer wav abzuspielen? Denn eine wav datei bläst das jar file natürlich viel mehr auf und gibt es ein Größenlimit für .jar Dateien?
Außerdem bin ich natürlich auf der Suche nach einer Methode die auf möglichst vielen Handys funktioniert.
So stehts im guide:
Java:
try {
Player player = Manager.createPlayer(getClass().getResourceAsStream("/b.wav"), "audio/x-wav");
player.start();
} catch (Exception e) {
e.printStackTrace();
}
und so sieht meine Abänderung auf mp3 aus die aber nicht funktioniert:
Java:
try {
Player player = Manager.createPlayer(getClass().getResourceAsStream("Dateiname.mp3"), "audio/mpeg");
player.start();
} catch (Exception e) {
e.printStackTrace();
}
Dein Beispiel passt. "Geht nicht" ist immer eine sehr dämliche Aussage. Du musst schon sagen WAS genau nicht funktioniert, wie du feststellst, dass es nicht funktioniert, was stattdessen passiert, und/oder eine Fehlermeldung. Sicher, dass der Pfad passt? "Dateiname.mp3" und nicht "/Dateiname.mp3"?
Midi können so ziemlich alle Geräte abspielen - allerdings in recht unterschiedlichen Qualitäten. Wenn du wirklich professionell für mehrere/viele Geräte programmieren willst, wirst du nicht drum rum kommen, für jedes Gerät oder zumindest jede "Gerätegruppe" ein eigenes JAR zu erstellen.
Dein Beispiel passt. "Geht nicht" ist immer eine sehr dämliche Aussage. Du musst schon sagen WAS genau nicht funktioniert, wie du feststellst, dass es nicht funktioniert, was stattdessen passiert, und/oder eine Fehlermeldung.
Auf dem virtuellen Handy in der Programmierumgebung verschwindet beim starten der app plötzlich das virtuelle handy und es tut sich gar nichts - kein fehler etc.
Beim ausführen auf meinem Handy kommt folgender Fehler: Java-Fehler, unzulässiges Format
Die MIDP und CLDC Version stimmen jedoch.
Ich verwende Java Netbeans 6.5.1
Es kommt überhaupt keine Fehlermeldung weder beim builden noch beim debuggen. Nur das virtuelle Handy verschwindet beim starten der app.
Da das Handy mp3 dateien im eigenen musikplayer unterstützt glaube ich nicth, dass mit einer selbst geschriebenen java app dies plötzlich nicht mehr funktioniert. Mein Handy ist ein Samsung ST-5230
Ich verwende Java Netbeans 6.5.1
Es kommt überhaupt keine Fehlermeldung weder beim builden noch beim debuggen. Nur das virtuelle Handy verschwindet beim starten der app.
Schwer vorstellbar. Poste doch mal den kompletten Inhalt der NetBeans-Konsole (inkl. aller Build- und Startlogs). Trotzdem bleibt die Frage nach dem WTK/SDK offen. NetBeans ist ja nur die IDE.
Da das Handy mp3 dateien im eigenen musikplayer unterstützt glaube ich nicth, dass mit einer selbst geschriebenen java app dies plötzlich nicht mehr funktioniert. Mein Handy ist ein Samsung ST-5230
Kann ich jetzt aus dem Stegreif nicht sagen, aber ja, scheint so als könnte das Handy mp3 abspielen. Mach doch mal ein gigantisches try-catch um deinen Code, fange alles ab was geht und gebe dann die Fehlermeldung bspw. auf einem Alert aus.
Schwer vorstellbar. Poste doch mal den kompletten Inhalt der NetBeans-Konsole (inkl. aller Build- und Startlogs). Trotzdem bleibt die Frage nach dem WTK/SDK offen. NetBeans ist ja nur die IDE.
Kann ich jetzt aus dem Stegreif nicht sagen, aber ja, scheint so als könnte das Handy mp3 abspielen. Mach doch mal ein gigantisches try-catch um deinen Code, fange alles ab was geht und gebe dann die Fehlermeldung bspw. auf einem Alert aus.
Da das Projekt (reines Projekt zum testen vom sound um anderes auszuschließen) nur aus den 2 Zeilen besteht und um diese Zeilen herum bereits eine Exception ist habe ich das bereits erledigt:
Java:
try {
Player player = Manager.createPlayer(getClass().getResourceAsStream("/01-papa_roach-burn.mp3"), "audio/mp3");
player.start();
} catch (Exception e) {
e.printStackTrace();
}
Hoffe das ist so richtig da meine Programmiererfahrung in Java praktisch fast 0 ist
Habe zwar Programmiererfahrung und somit auf Erfahrung mit Exceptions in C# oder C++ aber noch nicht bzw kaum in Java.
Hm, du verwendest das WTK 2.5 in Kombi mit NetBeans. Sehe da jetzt auch nichts besonderes, außer den OutOfMemoryError. Bekommst du ein HelloWorld denn zum Laufen? Schon mal versucht das ganze von Hand zu kompilieren/auszuführen?
Hm, du verwendest das WTK 2.5 in Kombi mit NetBeans. Sehe da jetzt auch nichts besonderes, außer den OutOfMemoryError. Bekommst du ein HelloWorld denn zum Laufen?
Habe nun erstmal versucht das Programm auf .wav abzuändern, leider ohne Erfolg. Aber immerhin wirft er nun eine exception. Könnte es vielleicht etwas damit zu tun haben dass die sound datei zu groß ist und somit ohne buffern die musikdatei nicht sauber abgespielt werden kann und dadurch die app gar nicht erst startet?
Ist es jetzt eigentlich nur für den Testfall möglich den code unten einfach unter startApp hineinzukopieren oder muss irgendetwas vom codeteil im Konstruktor oder der Klasse stehen?
Es könnte auch sein dass ich vergessen habe eine Klasse oder ein Paket zu importieren
Reichen folgende imports?
Oder bringt es vielleicht was das java SDK3.0 zu laden?
Der code sieht im Moment so aus:
Java:
public void startApp() {
try {
Player player = Manager.createPlayer(getClass().getResourceAsStream("/01-papa_roach-burn.wav"), "audio/x-wav");
player.start();
} catch (Exception e) {
e.printStackTrace();
}
Beim Ausführen kommt nun folgendes:
Starting emulator in execution mode
Running with storage root C:\Users\Knexi\j2mewtk\2.5.2\appdb\DefaultColorPhone
Running with locale: German_Austria.1252
Running in the identified_third_party security domain
New version Java(TM) Platform Micro Edition SDK 3.0 is available at: Download Java Platform Micro Edition Software Development Kit 3.0 for Windows RR
java.lang.IllegalArgumentException
at javax.microedition.media.Manager.createPlayer(Manager.java:726)
at wav_demo.startApp(wav_demo.java:16)
at javax.microedition.midlet.MIDletProxy.startApp(MIDletProxy.java:44)
at com.sun.midp.midlet.Scheduler.schedule(+270)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+80)
Execution completed.
Wie gesagt, du erhälst ja schon weiter oben irgendwo einen OutOfMemoryError. Also zu wenig Speicher verfügbar. Und dann haben die meisten Mobiltelefone auch noch eine Obergrenze für die JAR-Datei-Größe.