/*
* @(#)Port.java 1.27 05/11/17
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package javax.sound.sampled;
/**
* Ports are simple lines for input or output of audio to or from audio devices.
* Common examples of ports that act as source lines (mixer inputs) include the microphone,
* line input, and CD-ROM drive. Ports that act as target lines (mixer outputs) include the
* speaker, headphone, and line output. You can access port using a <code>{@link Port.Info}</code>
* object.
*
* @author Kara Kytle
* @version 1.27, 05/11/17
* @since 1.3
*/
public interface Port extends Line {
// INNER CLASSES
/**
* The <code>Port.Info</code> class extends <code>{@link Line.Info}</code>
* with additional information specific to ports, including the port's name
* and whether it is a source or a target for its mixer.
* By definition, a port acts as either a source or a target to its mixer,
* but not both. (Audio input ports are sources; audio output ports are targets.)
* <p>
* To learn what ports are available, you can retrieve port info objects through the
* <code>{@link Mixer#getSourceLineInfo getSourceLineInfo}</code> and
* <code>{@link Mixer#getTargetLineInfo getTargetLineInfo}</code>
* methods of the <code>Mixer</code> interface. Instances of the
* <code>Port.Info</code> class may also be constructed and used to obtain
* lines matching the parameters specified in the <code>Port.Info</code> object.
*
* @author Kara Kytle
* @version 1.27, 05/11/17
* @since 1.3
*/
public static class Info extends Line.Info {
// AUDIO PORT TYPE DEFINES
// SOURCE PORTS
/**
* A type of port that gets audio from a built-in microphone or a microphone jack.
*/
public static final Info MICROPHONE = new Info(Port.class,"MICROPHONE", true);
/**
* A type of port that gets audio from a line-level audio input jack.
*/
public static final Info LINE_IN = new Info(Port.class,"LINE_IN", true);
/**
* A type of port that gets audio from a CD-ROM drive.
*/
public static final Info COMPACT_DISC = new Info(Port.class,"COMPACT_DISC", true);
// TARGET PORTS
/**
* A type of port that sends audio to a built-in speaker or a speaker jack.
*/
public static final Info SPEAKER = new Info(Port.class,"SPEAKER", false);
/**
* A type of port that sends audio to a headphone jack.
*/
public static final Info HEADPHONE = new Info(Port.class,"HEADPHONE", false);
/**
* A type of port that sends audio to a line-level audio output jack.
*/
public static final Info LINE_OUT = new Info(Port.class,"LINE_OUT", false);
// FUTURE DIRECTIONS...
// telephone
// DAT
// DVD
// INSTANCE VARIABLES
private String name;
private boolean isSource;
=1= |