opsu-dance/lib/jlayer1.0.1/javadoc/javazoom/jl/player/AudioDevice.html
2014-06-29 22:17:04 -04:00

362 lines
13 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_15) on Sun Nov 16 18:35:05 CET 2008 -->
<TITLE>
AudioDevice
</TITLE>
<META NAME="keywords" CONTENT="javazoom.jl.player.AudioDevice interface">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="AudioDevice";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../javazoom/jl/player/AudioDeviceBase.html" title="class in javazoom.jl.player"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?javazoom/jl/player/AudioDevice.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AudioDevice.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javazoom.jl.player</FONT>
<BR>
Interface AudioDevice</H2>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../javazoom/jl/player/AudioDeviceBase.html" title="class in javazoom.jl.player">AudioDeviceBase</A>, <A HREF="../../../javazoom/jl/player/JavaSoundAudioDevice.html" title="class in javazoom.jl.player">JavaSoundAudioDevice</A>, <A HREF="../../../javazoom/jl/player/NullAudioDevice.html" title="class in javazoom.jl.player">NullAudioDevice</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>AudioDevice</B></DL>
</PRE>
<P>
The <code>AudioDevice</code> interface provides an abstraction for
a device capable of sounding audio samples. Samples are written to
the device wia the write() method. The device assumes
that these samples are signed 16-bit samples taken at the output frequency
of the decoder. If the decoder outputs more than one channel, the samples for
each channel are assumed to appear consecutively, with the lower numbered
channels preceeding higher-numbered channels. E.g. if there are two
channels, the samples will appear in this order:
<pre><code>
l0, r0, l1, r1, l2, r2...
where
l<i>x</i> indicates the <i>x</i>th sample on channel 0
r<i>x</i> indicates the <i>x</i>th sample on channel 1
</code></pre>
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.0.8</DD>
</DL>
<HR>
<P>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javazoom/jl/player/AudioDevice.html#close()">close</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Closes this audio device.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javazoom/jl/player/AudioDevice.html#flush()">flush</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Blocks until all audio samples previously written to this audio device have
been heard.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javazoom/jl/player/AudioDevice.html#getPosition()">getPosition</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the current playback position in milliseconds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javazoom/jl/player/AudioDevice.html#isOpen()">isOpen</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the open state of this audio device.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javazoom/jl/player/AudioDevice.html#open(javazoom.jl.decoder.Decoder)">open</A></B>(<A HREF="../../../javazoom/jl/decoder/Decoder.html" title="class in javazoom.jl.decoder">Decoder</A>&nbsp;decoder)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepares the AudioDevice for playback of audio samples.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javazoom/jl/player/AudioDevice.html#write(short[], int, int)">write</A></B>(short[]&nbsp;samples,
int&nbsp;offs,
int&nbsp;len)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a number of samples to this <code>AudioDevice</code>.</TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="open(javazoom.jl.decoder.Decoder)"><!-- --></A><H3>
open</H3>
<PRE>
void <B>open</B>(<A HREF="../../../javazoom/jl/decoder/Decoder.html" title="class in javazoom.jl.decoder">Decoder</A>&nbsp;decoder)
throws <A HREF="../../../javazoom/jl/decoder/JavaLayerException.html" title="class in javazoom.jl.decoder">JavaLayerException</A></PRE>
<DL>
<DD>Prepares the AudioDevice for playback of audio samples.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>decoder</CODE> - The decoder that will be providing the audio
samples.
If the audio device is already open, this method returns silently.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javazoom/jl/decoder/JavaLayerException.html" title="class in javazoom.jl.decoder">JavaLayerException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="isOpen()"><!-- --></A><H3>
isOpen</H3>
<PRE>
boolean <B>isOpen</B>()</PRE>
<DL>
<DD>Retrieves the open state of this audio device.
<P>
<DD><DL>
<DT><B>Returns:</B><DD><code>true</code> if this audio device is open and playing
audio samples, or <code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="write(short[], int, int)"><!-- --></A><H3>
write</H3>
<PRE>
void <B>write</B>(short[]&nbsp;samples,
int&nbsp;offs,
int&nbsp;len)
throws <A HREF="../../../javazoom/jl/decoder/JavaLayerException.html" title="class in javazoom.jl.decoder">JavaLayerException</A></PRE>
<DL>
<DD>Writes a number of samples to this <code>AudioDevice</code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>samples</CODE> - The array of signed 16-bit samples to write
to the audio device.<DD><CODE>offs</CODE> - The offset of the first sample.<DD><CODE>len</CODE> - The number of samples to write.
This method may return prior to the samples actually being played
by the audio device.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../javazoom/jl/decoder/JavaLayerException.html" title="class in javazoom.jl.decoder">JavaLayerException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="close()"><!-- --></A><H3>
close</H3>
<PRE>
void <B>close</B>()</PRE>
<DL>
<DD>Closes this audio device. Any currently playing audio is stopped
as soon as possible. Any previously written audio data that has not been heard
is discarded.
The implementation should ensure that any threads currently blocking
on the device (e.g. during a <code>write</code> or <code>flush</code>
operation should be unblocked by this method.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="flush()"><!-- --></A><H3>
flush</H3>
<PRE>
void <B>flush</B>()</PRE>
<DL>
<DD>Blocks until all audio samples previously written to this audio device have
been heard.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getPosition()"><!-- --></A><H3>
getPosition</H3>
<PRE>
int <B>getPosition</B>()</PRE>
<DL>
<DD>Retrieves the current playback position in milliseconds.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../javazoom/jl/player/AudioDeviceBase.html" title="class in javazoom.jl.player"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?javazoom/jl/player/AudioDevice.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AudioDevice.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
JavaZOOM 1999-2008
</BODY>
</HTML>