Avatar billede vis_dk Nybegynder
13. april 2004 - 20:14 Der er 1 kommentar

Optage fra mikrofon port istedet for "line in" port.

Hej,
Jeg har lavet denne klasse til at optage lyd mig, mit problem er bare at det optager fra line in, og ikke fra mikrofon porten.

Klassen:
package audio;

import java.io.*;

import javax.sound.sampled.DataLine;
import javax.sound.sampled.TargetDataLine;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.AudioFileFormat;

public class IndspilLyd extends Thread
{
    File outputFile = new File("./indspilletlyd.wav");
    TargetDataLine targetDataLine = null;
   
    public void run()
    {
        AudioFormat    audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100.0F, 16, 2, 4, 44100.0F, false);
        DataLine.Info info = new DataLine.Info(TargetDataLine.class, audioFormat);

        try
        {
            targetDataLine = (TargetDataLine) AudioSystem.getLine(info);
            targetDataLine.open(audioFormat);
        }
        catch (LineUnavailableException e)
        {
            System.out.println("unable to get a recording line");
            e.printStackTrace();
        }
       
        AudioFileFormat.Type targetType = AudioFileFormat.Type.WAVE;
        AudioInputStream audioInputStream = new AudioInputStream(targetDataLine);
       
        targetDataLine.start();
       
        try
        {
            AudioSystem.write(audioInputStream, targetType, outputFile);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
   
    public void stopRecord()
    {
        targetDataLine.stop();
        targetDataLine.close();
    }
}

Jeg har kigget i API'en, og fundet den her klasse:
http://java.sun.com/j2se/1.4.2/docs/api/javax/sound/sampled/Port.Info.html
dog kan jeg ikke helt se hvordan jeg implementerer den i min egen klasse.

Jeg har også kigget her, men synes ikke rigtig der er noget svar:
http://www.eksperten.dk/spm/348641

Mit spørgsmål er altså: Hvordan optager jeg fra mikrofon porten og ikke line in porten?
Avatar billede vis_dk Nybegynder
13. april 2004 - 20:18 #1
Anden linje skal selvfølgelig være uden "mig".
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