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?
