Я сделал программу для записи звука ... Проверьте это
.
import java.io.*;
import javax.sound.sampled.*;
public class pp extends Thread
{
TargetDataLine tdl;
AudioFileFormat.Type afft;
AudioInputStream ais;
File f1;
public pp(TargetDataLine l,AudioFileFormat.Type t,File f2)
{
tdl=l;
ais=new AudioInputStream(tdl);
t=afft;
f1=f2;
}
public void start()
{
tdl.start();
super.start();
}
public void sr()
{
tdl.stop();
tdl.close();
}
public void run()
{
try
{
AudioSystem.write(ais,afft,f1);
}
catch(Exception e)
{
e.printStackTrace();
System.out.println("Exception caught ");
}
}
public static void main(String args[])
{
String s=args[0];
File f=new File(s);
AudioFormat ff=new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,44100.0F, 16, 2, 4, 44100.0F, false);
DataLine.Info inf=new DataLine.Info(TargetDataLine.class,ff);
TargetDataLine td=null;
try
{
td=(TargetDataLine)AudioSystem.getLine(inf);
td.open(ff);
}
catch(Exception e)
{
//e.printStackTrace();
System.out.println("Exception caught ");
}
AudioFileFormat.Type t5=AudioFileFormat.Type.AIFC;
pp p=new pp(td,t5,f);
System.out.println("enter to start recording");
try
{
System.in.read();
}
catch(Exception e)
{
System.out.println("exception caught ");
}
p.start();
System.out.println("enter to stop recording");
try
{
System.in.read();
}
catch(Exception e)
{
System.out.println("exception caught ");
}
p.sr();
System.out.println("recording stoped");
}
}
Будет показано исключение, как ....
java.lang.IllegalArgumentException: could not write audio file: file type not supported: null
at javax.sound.sampled.AudioSystem.write(AudioSystem.java:1363)
at pp.run(pp.java:30)
Может ли кто-нибудь помочь мне решить эту проблему .... !!