package call;
import java.util.Collection;
import java.util.List;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.Line;
import javax.sound.sampled.Mixer;
public interface AudioDevice extends Id {
Mixer.Info getMixerinfo();
Mixer getMixer();
javax.sound.sampled.Line.Info getLineinfo();
DataLine getLine();
void setFormats(Collection<PcmFormat> formats);
List<PcmFormat> getFormats();
boolean supportsFormat(PcmFormat format);
public abstract static class Info<L extends DataLine> extends AbstractId {
private final Mixer.Info mixerinfo;
private final Mixer mixer;
private final javax.sound.sampled.Line.Info lineinfo;
private final L line;
public Info(Mixer.Info mixerinfo, Mixer mixer, Line.Info lineinfo, L line) {
this.mixerinfo = mixerinfo;
this.mixer = mixer;
this.lineinfo = lineinfo;
this.line = line;
}
public Mixer.Info getMixerinfo() {
return mixerinfo;
}
public Mixer getMixer() {
return mixer;
}
public javax.sound.sampled.Line.Info getLineinfo() {
return lineinfo;
}
public L getLine() {
return line;
}
@Override
public String getId() {
return "AudioDevice.Info<" + mixerinfo + "," + mixer + "," + lineinfo + "," + line + ">";
}
}
}