13. januar 2005 - 15:32Der er
19 kommentarer og 1 løsning
Lyde i java
Nogen der gider lave noget kode til hvordan man kan bruge en lyd i java? Evt. hvis i også gider skrive hvilke forskellige lydformater man kan bruge i java?
Hmm det eneste jeg kom frem til var at der var noget der hed javaMp3, men har ingen anelse om hvordan jeg skal bruge det. Nogen der har et eksempel på det så?
installeren smider det vist i <jre>/lib/ext og da din IDE fik tilføjet j2sdk der tilføjede den også de jar der lå der. jeg vil tro at du skal tilføje de nye jar du har fået instaleret for at de er i din classpath.
Ok mange tak har fået det til at virke nu. Er så endnu et problem... Hvis jeg laver mit program til en exe fil, brokker den sig over at den ikke kan finde ud af at kører mp3 filer. Nogen der ved hvordan jeg håndterer det problem?? Jeg bruger jBuilder 9...
jeg går ud fra at både javamp3 pluginet og jmf er instaleret på maskinen hvor exe filen bliver afviklet... hvis det er tilfældet ved jeg desværre ikke hvad det kan være.
du kunne også bare holde dig til en executable jar... måske med et .bat script i tilfælde af at jar ikke er registreret til javaw.exe
men... Gør det da heller ikke særlig brugbart hvis det skal installeres på andre computere hvor det skal bruges... Men ifølge hvad jeg kan se ligger den alle de filer fra jmf 2.1 ned i jar filen. Den melder bare fejl når en lyd bliver spillet.. Fejlmeddellelse:
Unable to handle format: mpeglayer3, 44100.0 Hz, 16-bit, stereo, LittleEndian, signed, 16000.0 frame rate, FrameSize=32768 bits Failed to realize: com.sun.media.PlaybackEngine@126f827 Error: Unable to realize com.sun.media.PlaybackEngine@126f827
det der ser ud som om at mp3 pluginet ikke er registereret.
installeren registerer for dig og så burde det virke... men hvis du ikke bruger installeren men vedlægger jmf+plugin som jar så skal du selv registere plugin til jmf
siden siger man skal køre "java com.sun.media.codec.audio.mp3.JavaDecoder" .. jeg prøvede selv at gøre det igår ved først at hente en jar men den sagde bare den var registereret og så smed den en fejl.. og det fik det ikke til at virke.
jeg læste et sted at det kunne være man selv skulle køre jmfregistry i bin mappen og registere det manuelt... men det burde nu virke uden.
Hmm, dvs. man kan ikke bruge mp3 i java kom jeg frem til. Hvordan får jeg så lyd på? sådan som jeg har det nu, tar lyden mega meget hukommelse + at den ikke kan finde ud af at spille flere ting samtidig + der kommer delay. Hvilket suxx rimelig meget når det er et spil jeg er igang med. Hvad ville du da gøre?
/** * Play a *.wav or *.au file. * * @author Knute Johnson */ public class Play { /** * Play a *.wav or *.au file * * @param args args[0] on command line is name of file to play */
public static void main(String[] args) { try { AudioInputStream ais = AudioSystem.getAudioInputStream(new File("tank1.wav")); AudioFormat af = ais.getFormat(); DataLine.Info info = new DataLine.Info(SourceDataLine.class, af);
if (!AudioSystem.isLineSupported(info)) { System.out.println("unsupported line"); } else {
SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info); line.open(af, bufSize); line.start(); byte[] data = new byte[bufSize]; int bytesRead;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.