webForumDet fria alternativet

ljud i java!

3 svar · 1 935 visningar · startad av ecke

eckeMedlem sedan juni 200734 inlägg
#1

hej hej igen!
det var ett litet tag sen jag var inne här men nu är det dags igen! oavsett vad ni tycker! :)
den här gången gäller det lite ljud i java och jag har lite problem, jag har kopierat en text från en bok som ser ut såhär:
jag tror programmet ska spela upp ett ljud när man klickar med musen

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.applet.*;
import java.net.URL;
public class MouseClicker extends JFrame
{
AudioClip click;

public static void main(String \[\] args)
{
	new MouseClicker();
}

public MouseClicker()
{
	this.setSize(400, 400);
	this.setTitle("Mouse Clicker");
	this.addMouseListener(new Clicker());

	URL urlClick = MouseClicker.class.getResource("C:\\\\notify.WAV");
	click = Applet.newAudioClip(urlClick);

	this.setVisible(true);
}

private class Clicker extends MouseAdapter
{
	public void mouseClicked(MouseEvent e)
	{
		click.play();
	}
}

}

Och ja! jag har ändrat URL:en så att den passar den filen jag vill ska spelas upp.
När jag kompilerar koden så värkar allt vara bra Men när jag ska köra koden(Execute File i JCreator) så händer det inget, det står bara följande i General output rutan:

Configuration: MouseClicker - JDK version 1.6.0_01

Exception in thread "main" java.lang.NullPointerException
at sun.applet.AppletAudioClip.<init>(AppletAudioClip.java:48)
at java.applet.Applet.newAudioClip(Applet.java:279)
at MouseClicker.<init>(MouseClicker.java:23)
at MouseClicker.main(MouseClicker.java:13)

Process completed.

Vad ska jag göra? vad är fel?
Tack i förhand //£cke

spangoMedlem sedan juni 20006 147 inlägg
#2

getResource funkar inte på det sättet. Antingen lägger du notify.wav i samma katalog som .class-filerna hamnar i, eller så byter du ut

 URL urlClick = MouseClicker.class.getResource("C:\\notify.WAV");

mot t.ex.

 URL urlClick = new File("C:\\notify.WAV").toURI().toURL();
LimeMedlem sedan sep. 2001837 inlägg
#3

spango skrev:

mot t.ex.

 URL urlClick = new File("C:\\notify.WAV").toURI().toURL();

Vilket inte går, eftersom det är en Applet och Applets inte har tillgång till det lokala filsystemet... ;)

eckeMedlem sedan juni 200734 inlägg
#4

oki! tack! ja fattar nu varför det inte funka xD
lite klantigt av mig men men!
tack endå!!

Genererad på 355 ms · cache AV · v20260730165559-full.f96bc7eb