/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
afspilning af lyd
Fra : Kasper Lindberg


Dato : 22-12-05 22:57

Hej NG

et spørgsmål til dem der ved hvordan man afspiller lydfiler med Java...

Nedenstående funktion kan godt afspille lyden af en bombe der sprænger og en
trommevirvel, men den virker ikke (altid) når den skal afspille lyden af en
knap der bliver trykket på.

Jeg ved funktionen virker men mit click nægter den at afspille.

jeg forstår det ikke ;(

private static void PlaySound(int Clip) {
//Click=1, Bomb=2, Jingle=3. Defineret globalt som "static int"
if ((!GameOver)&&(SoundEnabled)) {
System.out.println("PlaySound no: " + Clip);
try{
if (Clip==Click) {
url = new URL ("file", "localhost",SoundLocation + "click.wav");
} else if (Clip==Bomb) {
url = new URL ("file", "localhost",SoundLocation + "bomb.wav");
} else if (Clip==Jingle) {
url = new URL ("file", "localhost",SoundLocation + "trommevirvel.wav");
}
if (url!=null) {
if (CurSound!=null) CurSound.stop();
CurSound=JApplet.newAudioClip (url);
CurSound.play();
}
} catch (Exception exception) {System.out.println("Exception");}
}
}


/Kasper

ps. Jeg er også interesseret i alternative måder at afspille lydfiler på.



 
 
Bjarke Walling Peter~ (08-01-2006)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 08-01-06 11:09

Kasper Lindberg skrev:
> et spørgsmål til dem der ved hvordan man afspiller lydfiler med Java....

Et lidt sent svar måske, men det kan være du læser det.

Jeg ville loade lydene ind i en liste først, måske en hashmap, så du
kan hente dem ud igen. Evt. blot et array, hvor du gemmer indeks på de
forskellige lydklip. På den måde ved du at de alle er loadet - i
stedet for, som du gør i dit eksempel, at loade dem lige før du skal
bruge dem.

Se f.eks. denne korte tutorial - her gør de det på en
objekt-orienteret måde (hvilket jo er meningen med Java, ikke?), hvor
de har en klasse til at gemme lydklippene i og en klasse til at loade
lydene i en separat tråd:
http://java.sun.com/docs/books/tutorial/sound/ (Klik ind på Playing
Sounds)

De bruger i øvrigt getAudioClip på instansen af appletten i stedet
for den statiske metode newAudioClip du bruger - jeg ved ikke om der er
nogen forskel i implementationen, men det kan du sikkert læse om i
Suns online dokumentation:
http://java.sun.com/j2se/1.5.0/docs/api/index.html

Håber det hjalp dig - eller du ellers har fundet en anden metode til
afspilning af lyde. Kommercielle computerspil vil nok bruge en helt
anden metode. Jeg ved ikke om Java3D eller JMF (Java Media Framework)
indeholder features til lydafspilning, men de indeholder i hvert fald
en masse features. Der er også en anden mulighed, nemlig pakken
javax.sound. Prøv at google efter den. Evt. er der et brugbart link
her, der har en masse om lyd i Java:
http://www.jsresources.org/

Mvh.
Bjarke W.


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste