/*
* @(#)AudioOutput.java 1.5 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.renderer.audio.device;
import javax.media.format.AudioFormat;
public interface AudioOutput {
/**
* Initialize the audio output.
*/
public boolean initialize(AudioFormat format, int bufferSize);
/**
* Close the device.
* Cannot call this close since it clashes InputStream.close
* for SunAudioOutput which also implements InputStream.
*/
public void dispose();
/**
* Pause the device.
*/
public void pause();
/**
* Resume the device.
*/
public void resume();
/**
* Drain the device.
*/
public void drain();
/**
* Flush the device.
*/
public void flush();
/**
* Return the time as measured from the samples consumed since the
* device has opened.
*/
public long getMediaNanoseconds();
/**
* Set the audio gain of the device.
*/
public void setGain(double g);
/**
* Return the audio gain of the device.
*/
public double getGain();
/**
* Mute the audio device.
*/
public void setMute(boolean m);
/**
* Return if the device is muted.
*/
public boolean getMute();
/**
* set the playback rate.
*/
public float setRate(float rate);
/**
* get the playback rate.
*/
public float getRate();
/**
* Obtains the number of bytes of data that can be written to
* the device without blocking.
*/
public int bufferAvailable();
/**
* Write data to the device.
*/
public int write(byte data[], int off, int len);
}
|