Musik einfügen funktioniert noch nicht

sildave94

Mitglied
Hallo zusammen

Ich möchte in Java ein kleines Spiel programmieren (nichts aufregendes, mehr zum Spass und als Übung), in dem ich dem Benutzer einen Button zur Verfügung stellen möchte, mit dem er Musik laufen lassen kann. Ich habe das Problem auf Google gesucht und Lösungen gefunden, aber keine funktioniert. Immer wenn ich auf den Play-Button klicke kommt eine lange Fehlermeldung im NetBeans-Output Fenster, beginnend mit "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException".

Der Code beim ActionPerformed für den Play-Button sieht so aus:
Java:
try{
      sound.mp3Player();
    }
    catch(MalformedURLException ex){
    }

Die Methode mp3Player der Klasse Sound geht so:
Java:
public void mp3Player() throws MalformedURLException {
    File f = new File("projectData/sound/comfortablyNumb.mp3");
    AudioClip comfortablyNumb;
     comfortablyNumb = getAudioClip(f.toURL());
    comfortablyNumb.play();
  }

Der angegebene Dateipfad stimmt, da bin ich mir sicher, und NetBeans zeigt in der Code-Ansicht auch keine Fehler... Hat jemand von euch eine Idee, was ich hier falsch mache? Denn egal wo ich nach einer Anleitung zum Einbinden von Musik gesucht habe, es lief schlussendlich alles auf diese Variante hinaus. Eine Alternative habe ich noch gefunden und ausprobiert. Der Code schien etwas simpler zu sein, das Ergebnis war aber genau das Gleiche...

Ich bedanke mich für eure Hilfe
Liebe Grüsse
Silas
 

Kevin94

Top Contributor
Die exakte Codezeile in der die NPE auftritt wäre hilfreich und ggf. mehr Code.
Ansonsten gibt es nur zwei Möglichkeiten: sound könnte null sein oder der AudioClip könnte null sein, weil die URL flasch umgewandelt wird (falscher Absoluter Pfad, Umlaute) oder nicht gefunden wird, weil sie innerhalb des jars liegt und die Methode damit nicht umgehen kann. Letzteres lässt sich umgehen, indem man einfach einen Stream von Class.getResourceAsStream übergibt.
 

sildave94

Mitglied
Die exakte Codezeile in der die NPE auftritt wäre hilfreich und ggf. mehr Code.

Okay, danke für deine Hilfe. Bin gerade ausser Hause, aber sobald ich wieder zu Hause bin (1-2 Stunden) poste ich mal alles an Code was hilfreich sein könnte.

Falls das nicht weiterhelfen sollte, müsste ich nochmal auf deinen ersten Post zurückkommen, ich verstehe noch nicht ganz alles, da ich noch sehr wenig Programmier-Erfahrung habe ;).

Gruss
Silas
 

sildave94

Mitglied
Die exakte Codezeile in der die NPE auftritt wäre hilfreich und ggf. mehr Code.

Die NPE tritt in folgenden Zeilen auf:
Java:
comfortablyNumb = getAudioClip(f.toURL());

Java:
sound.mp3Player();

Das Programm besteht bisher nur aus zwei Klassen. Die Hauptklasse über die das GUI läuft, hat bis auf den Play-Button, den ich ja bereits gepostet habe, nichts mit Sound zu tun. Alles was damit zusammenhängt befindet sich in dieser Klasse:

Java:
package game;

import java.awt.*;
import java.applet.*;
import java.io.File;
import java.net.MalformedURLException;

public class soundPlayer extends Applet {

  public void mp3Player() throws MalformedURLException {
    File f = new File("projectData/sound/comfortablyNumb.mp3");
    AudioClip comfortablyNumb;
     comfortablyNumb = getAudioClip(f.toURL());
    comfortablyNumb.play();
  }
}

Hilft das etwas?
 

Kevin94

Top Contributor
System.exit ist jetzt nicht ganz das, was er gemeint hat, sondern eher sowas in Richtung printStackTrace, aber im Grunde ja.

Wenn das Problem wirklich direkt in dieser Zeiler liegt:
Java:
comfortablyNumb = getAudioClip(f.toURL());
hiese dies, das f null sein müsste, da du auf kein anderes Object zugreifst und die toURL() Methode, die übrigens deprecated ist, laut Doc keine NPE wirft. Das macht aber keinen Sinn da du f eine Zeile vorher mit new initialisierst. Versuche mal, was passiert, wenn du versuchst das ganze so zu realisieren:
Java:
public void mp3Player() throws MalformedURLException {
    URL url = getClass().getResource("projectData/sound/comfortablyNumb.mp3");
    AudioClip comfortablyNumb = getAudioClip(url);
    comfortablyNumb.play();
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Musik abspielen Java Basics - Anfänger-Themen 4
B Musik Sammlung Java Basics - Anfänger-Themen 7
P InputStream eines Musik-Streams abspielen Java Basics - Anfänger-Themen 2
S musik in eigenem thread Java Basics - Anfänger-Themen 2
C Mit Java Musik machen? Java Basics - Anfänger-Themen 86
M Resourcen richtig laden (Bild, Musik) Java Basics - Anfänger-Themen 2
S Inventarisierung von Musik Java Basics - Anfänger-Themen 2
A Musik aus jar laden Java Basics - Anfänger-Themen 2
T Musik Java Basics - Anfänger-Themen 3
F musik datei mit jmf abspielen Java Basics - Anfänger-Themen 5
Hilde22 Neu Start JButton einfügen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
melaniemueller setCharAt Leerzeichen zusätzlich einfügen Java Basics - Anfänger-Themen 8
S Algorithmus Datensätze einfügen wenn... Java Basics - Anfänger-Themen 26
E In Array Werte einfügen? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Gaudimagspam Attribute einfügen private Java Basics - Anfänger-Themen 3
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
R Inventar und Items auf ein 2D ArrayFeld einfügen Java Basics - Anfänger-Themen 2
S Bild einfügen // NEU Java Basics - Anfänger-Themen 12
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
E Datentypen Einfügen von Objekten in eine Map Java Basics - Anfänger-Themen 2
O Naives links rechts einfügen in ADT Baum Java Basics - Anfänger-Themen 8
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
M Sqlite table löschen und daten einfügen Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
M Klasse in JTable einfügen Java Basics - Anfänger-Themen 7
J In einer Klasse ein AlertDialog einfügen Java Basics - Anfänger-Themen 4
S Elemente in Liste einfügen Java Basics - Anfänger-Themen 2
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
x-tshainge Java Bilder einfügen Java Basics - Anfänger-Themen 1
T Variablen “ in String einfügen Java Basics - Anfänger-Themen 1
Orkanson Objekte in ein Array einfügen Java Basics - Anfänger-Themen 5
S Doppelte Liste Einfügen Java Basics - Anfänger-Themen 1
X Objekte in ArrayList einfügen Java Basics - Anfänger-Themen 10
jaleda100 JTextArea Zeile einfügen Java Basics - Anfänger-Themen 1
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
D B-Baum einfügen und löschen Java Basics - Anfänger-Themen 2
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
F In LinkedList einen Wert ersetzen oder neu einfügen Java Basics - Anfänger-Themen 7
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
J Scroll-Leiste einfügen Java Basics - Anfänger-Themen 12
U Sound einfügen Java Basics - Anfänger-Themen 6
P String zerstückeln und in Excel einfügen Java Basics - Anfänger-Themen 11
J Objecte in TreeSet einfügen klappt nicht Java Basics - Anfänger-Themen 5
P Variablen Wie kann ich eine lokale Variable in eine andere Methode einfügen? Java Basics - Anfänger-Themen 27
S Bild einfügen Java Basics - Anfänger-Themen 16
D Taschenrechnerereignisse einfügen Java Basics - Anfänger-Themen 18
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
W Listenelement einfügen Java Basics - Anfänger-Themen 9
P OOP Eingabevariablen der Klasse Raum in der Methode addEvent ans Ende einer ArrayList einfügen Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
D Datenbankzugriff - Leere Zeile einfügen Java Basics - Anfänger-Themen 2
GadgetSofa IOException fehlt aber wo einfügen? Java Basics - Anfänger-Themen 6
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
A Objekte in eine Liste einfügen Java Basics - Anfänger-Themen 7
J Methoden Einfügen von Objekten nach Alphabet in ArrayList funktioniert nicht Java Basics - Anfänger-Themen 2
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
F Collections Sortierung und Einfügen von Elementen Java Basics - Anfänger-Themen 1
K Erste Schritte Classe in andere Einfügen?? Java Basics - Anfänger-Themen 12
P Klasse in Klasse einfügen (arrayliste) Java Basics - Anfänger-Themen 7
F Bibliotheken einfügen ??? Java Basics - Anfänger-Themen 2
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
K JTextField in ein Spiel einfügen Java Basics - Anfänger-Themen 2
Q Erste Schritte In CharArrayWriter Zeichen an Stelle einfügen Java Basics - Anfänger-Themen 4
J Daten in eine JList einfügen Java Basics - Anfänger-Themen 6
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Durch Button klick wert in JTextField einfügen Java Basics - Anfänger-Themen 5
J Button in extra Klasse festlegen und in anderer Klasse einfügen? Java Basics - Anfänger-Themen 3
J GUI Button Klasse in anderer Klasse einfügen Java Basics - Anfänger-Themen 3
E HILFE Projekt für die Schule--> Bilder einfügen Java Basics - Anfänger-Themen 9
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
A Aktuelles Datum einfügen.. Java Basics - Anfänger-Themen 4
I fertige xml-datein in eine noch aufzubauende xml-datei einfügen Java Basics - Anfänger-Themen 4
N JTable - Zellfarben ändern, GUI-Komponenten in Zellen einfügen Java Basics - Anfänger-Themen 5
B Ordner in jar dateien einfügen Java Basics - Anfänger-Themen 4
S Erste Schritte Bluej Automatisches Einfügen von Objekten Java Basics - Anfänger-Themen 4
A String aus anderer Klasse in JTextArea einfügen Java Basics - Anfänger-Themen 7
J Bild einfügen Java Basics - Anfänger-Themen 3
K paint() mit einfügen Java Basics - Anfänger-Themen 14
A Sortiertes Einfügen in Liste Java Basics - Anfänger-Themen 2
B org.apache.commons.... Folder in Projekt einfügen Java Basics - Anfänger-Themen 6
Kenan89 String in ObjectList einfügen Java Basics - Anfänger-Themen 2
H Bilder im GUI einfügen Java Basics - Anfänger-Themen 12
A SwingX in Eclipse einfügen Java Basics - Anfänger-Themen 5
B Einfügen von Dateien Java Basics - Anfänger-Themen 10
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
M Video in ClassLoader einfügen Java Basics - Anfänger-Themen 7
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben