/*
|
* To change this license header, choose License Headers in Project Properties.
|
* To change this template file, choose Tools | Templates
|
* and open the template in the editor.
|
*/
|
package testaudio;
|
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.stream.Stream;
|
import javax.sound.sampled.AudioFormat;
|
import javax.sound.sampled.AudioSystem;
|
import javax.sound.sampled.DataLine;
|
import javax.sound.sampled.Line;
|
import javax.sound.sampled.Mixer;
|
|
/**
|
*
|
* @author Konstantin
|
*/
|
public class TestAudio
|
{
|
|
/**
|
* @param args the command line arguments
|
*/
|
public static void main(String[] args)
|
{
|
List<AudioFormat> laudioFormat = new ArrayList();
|
|
try {
|
Mixer.Info [] mixers = AudioSystem.getMixerInfo();
|
for(int i = 0 ; i< mixers.length; i ++) {
|
System.out.println((i+1)+". " + mixers[i].getName() + " --> " + mixers[i].getDescription() );
|
|
Line.Info [] sourceLines = AudioSystem.getMixer(mixers[i]).getSourceLineInfo();
|
|
System.out.println("PRINT - SUPPORTED - AUDIO - FORMATS");
|
Stream.of(sourceLines).forEach(line -> showLineInfoFormats(line));
|
Stream.of(sourceLines).forEach(line -> laudioFormat.addAll(Arrays.asList(showLineInfoFormats(line))));
|
System.out.println("----------------------------------------");
|
System.out.println("\tSource Lines:" );
|
for(int j = 0; j< sourceLines.length; j++) {
|
System.out.println("\t" + (j+1) + ". " + sourceLines[j].toString() );
|
}
|
System.out.println();
|
|
Line.Info [] targetLines = AudioSystem.getMixer(mixers[i]).getTargetLineInfo();
|
System.out.println("\tTarget Lines:" );
|
for(int j = 0; j< targetLines.length; j++) {
|
System.out.println("\t" + (j+1) + ". " + targetLines[j].toString() );
|
|
}
|
System.out.println("\n" );
|
}
|
}
|
catch(Exception e) {
|
e.printStackTrace();
|
}
|
|
return;
|
|
// if(args.length <= 0)
|
// {
|
// CaptureAudio cap = new CaptureAudio();
|
// cap.start();
|
// return;
|
// }
|
//
|
// float a = Float.valueOf(args[0]);
|
// int b = Integer.valueOf(args[1]);
|
// int c = Integer.valueOf(args[2]);
|
// Boolean d = Boolean.valueOf(args[3]);
|
//
|
// CaptureAudio cap = new CaptureAudio(a,b,c,d);
|
//
|
// cap.start();
|
}
|
|
static AudioFormat[] showLineInfoFormats(final Line.Info lineInfo)
|
{
|
if (lineInfo instanceof DataLine.Info)
|
{
|
final DataLine.Info dataLineInfo = (DataLine.Info) lineInfo;
|
|
Arrays.stream(dataLineInfo.getFormats())
|
.forEach(format -> System.out.println(" " + format.toString()));
|
|
return dataLineInfo.getFormats();
|
}
|
|
return new AudioFormat[0];
|
}
|
|
}
|