Avatar billede heavybreezer Nybegynder
15. januar 2008 - 12:44 Der er 4 kommentarer

Gemme lyd i java

Jeg bruger denne kode til at lave en beeplyd (til et morsesystem). Lyden bliver afspillet fint, mangler bare en måde at gemme wav-filen på ?

import java.io.*;
import java.util.*;
import javax.sound.sampled.*;

public class Main
{
        public static byte[] calcSin(int hz)
        {
            int samples = (int)44100 / hz;
            byte sinCurve[] = new byte[samples];
         
            for(int i=0;i<sinCurve.length;i++)
            {
                sinCurve[i] = (byte)(Math.sin(i)*250);
            }
         
            return sinCurve;     
        }
     
        public static void main(String args[])
        {
            byte sinCurve[] = calcSin(440);
         
            try
            {
                AudioFormat outFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100, 16, 2, 4, 44100, false);
                DataLine.Info lineInfo = new DataLine.Info( SourceDataLine.class, outFormat, 14112);
                SourceDataLine sourceLine = (SourceDataLine)AudioSystem.getLine(lineInfo);
                sourceLine.open(outFormat, sourceLine.getBufferSize());
                sourceLine.start();
             
                for(int i=0;i<2000;i++)//skriv sinus 2000 gange
                {
                    sourceLine.write(sinCurve, 0, sinCurve.length);
                }
             
                sourceLine.stop();
                sourceLine.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
}
Avatar billede arne_v Ekspert
16. januar 2008 - 02:53 #1
Avatar billede heavybreezer Nybegynder
16. januar 2008 - 16:47 #2
Nej, men kan ikke se hvordan det passer sammen med mit eksempel ?
Avatar billede heavybreezer Nybegynder
16. januar 2008 - 17:12 #3
Den writer lyd til mixeren, men ikke til en fil ?
Avatar billede heavybreezer Nybegynder
16. januar 2008 - 22:42 #4
Ville være rart, hvis en kunne komme med et eksempel som passer på min kode her :) Har simpelthen lidt svært ved et overskue hvordan denne funktion skulle implementeres.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester