<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Alvas.Audio</name>
    </assembly>
    <members>
        <member name="T:Alvas.Audio.WaveformVisualizer">
            <summary>
            WaveformVisualizer draws picture of the sound amplitude-time representation (Waveform).
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveformVisualizer.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveformVisualizer.OnResize(System.EventArgs)">
            <summary>
            
            </summary>
            <param name="e"></param>
        </member>
        <member name="M:Alvas.Audio.WaveformVisualizer.OnPaintBackground(System.Windows.Forms.PaintEventArgs)">
            <summary>
            
            </summary>
            <param name="pe"></param>
        </member>
        <member name="M:Alvas.Audio.WaveformVisualizer.OnPaint(System.Windows.Forms.PaintEventArgs)">
            <summary>
            
            </summary>
            <param name="pe"></param>
        </member>
        <member name="M:Alvas.Audio.WaveformVisualizer.Assign(System.IntPtr,System.Byte[])">
            <summary>
            Sets the audio format and audio data
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data array</param>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.ShowTimeline">
            <summary>
            Gets or sets a value indicating whether the timeline is displayed. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.ShowPosition">
            <summary>
            Gets or sets a value indicating whether the position indicator is displayed. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.TimeLineColor">
            <summary>
            Gets or sets the timeline font color. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.PositionColor">
            <summary>
            Gets or sets the color of the current position indicator. 
            </summary>
        </member>
        <member name="E:Alvas.Audio.WaveformVisualizer.PaintBackground">
            <summary>
            Occurs when the control background is redrawn. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.Format">
            <summary>
            Gets audio format.
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.Data">
            <summary>
            Gets audio data.
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.DurationInMS">
            <summary>
            Gets audio data duration in milliseconds.
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.Position">
            <summary>
            Gets or sets the current audio position. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.BorderStyle">
            <summary>
            Gets or sets the border style for the control.
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveformVisualizer.CreateParams">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.WaveOutException">
            <summary>
            The exception that is thrown when a WaveOut error occurs.
            </summary>
        </member>
        <member name="T:Alvas.Audio.AudioException">
            <summary>
            The exception that is thrown when an audio error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.AudioException.#ctor(System.String)">
            <summary>
            
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Alvas.Audio.AudioException.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="P:Alvas.Audio.AudioException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveOutException.#ctor(System.Int32)">
            <summary>
            
            </summary>
            <param name="errorCode"></param>
        </member>
        <member name="P:Alvas.Audio.WaveOutException.ErrorCode">
            <summary>
            Gets the error code associated with this exception.
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveOutException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.RecorderEx">
             <summary>
             RecorderEx is a component for sound recording in PCM, IMA ADPCM, Microsoft ADPCM, CCITT A-Law, CCITT u-Law, GSM 6.10, Windows Media Audio V2, MPEG Layer-3 (mp3) and other wave file format.
             </summary>
             <example> This example shows simple using of RecorderEx class.
             <code>
            public static void TestRecorderEx()
            {
                RecorderEx rex = new RecorderEx();
                rex.Open += new EventHandler(rex_Open);
                rex.Data += new RecorderEx.DataEventHandler(rex_Data);
                rex.Close += new EventHandler(rex_Close);
                rex.Format = AudioCompressionManager.GetPcmFormat(1, 16, 44100);
                rex.StartRecord();
            }
            
            static WaveWriter ww;
            static int i = 0;
            
            static void rex_Close(object sender, EventArgs e)
            {
                ww.Close();
                ww = null;
            }
            
            static void rex_Data(object sender, DataEventArgs e)
            {
                ww.WriteData(e.Data);
                i += 1;
                if (i == 10)
                {
                    ((RecorderEx)sender).StopRecord();
                }
            }
            
            static void rex_Open(object sender, EventArgs e)
            {
                if (ww == null)
                {
                    ww = new WaveWriter(File.Create("rec.wav"), AudioCompressionManager.FormatBytes(((RecorderEx)sender).Format));
                }
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.GetMixerNo">
            <summary>
            Return mixer number
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.#ctor(System.Boolean)">
            <summary>
            
            </summary>
            <param name="isConsole"><c>true</c> if used in console application or Windows service; otherwise, <c>false</c>.</param>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.GetPosition(Alvas.Audio.TimeFormat)">
            <summary>
            Gets the current sound position.
            </summary>
            <param name="time">The time parameter specifies the sound position in milliseconds, bytes or samples.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.GetRecorderName(System.Int32)">
             <summary>
             Returns recorder name by index.
             </summary>
             <param name="index"></param>
             <returns></returns>
             <example> This example shows simple using of GetRecorderName method.
             <code>
            for (int i = 0; i &lt; RecorderEx.RecorderCount; i++)
            {
                Console.WriteLine(RecorderEx.GetRecorderName(i));
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.FormatBytes">
            <summary>
            Returns audio format byte array.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.OnOpen">
            <summary>
            Raises the Open event. 
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.OnClose">
            <summary>
            Raises the Close event.
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.OnData(System.Byte[])">
            <summary>
            Raises the Data event. 
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.Finalize">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.StopRecord">
            <summary>
            Stops recording.
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.PauseRecord">
            <summary>
            Pauses recording. Use StartRecord method to resume recording.
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecorderEx.StartRecord">
            <summary>
            Starts recording.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecorderEx.BufferSizeInMS">
            <summary>
            Gets or sets the recorder buffer size in milliseconds. By default 500 ms.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecorderEx.RecorderCount">
            <summary>
            Gets the number of audio recorders installed in system.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecorderEx.Format">
            <summary>
            Gets and sets pointer to audio format.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecorderEx.State">
            <summary>
            Gets the recorder state.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecorderEx.RecorderID">
            <summary>
            Gets or sets the current recorder. If -1 the system uses suitable recorder. 
            </summary>
        </member>
        <member name="E:Alvas.Audio.RecorderEx.Open">
            <summary>
            Occurs when the recorder is opened for recording.
            </summary>
        </member>
        <member name="E:Alvas.Audio.RecorderEx.Close">
            <summary>
            Occurs when the recorder is closed after recording.
            </summary>
        </member>
        <member name="E:Alvas.Audio.RecorderEx.Data">
            <summary>
            Occurs when the Recorder returns next portion of the recorded data.
            </summary>
        </member>
        <member name="T:Alvas.Audio.RecorderEx.DataEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Alvas.Audio.RecorderEx.Data">Data</see> event of the RecorderEx.
            </summary>
            <param name="sender"></param>
            <param name="e"></param>
        </member>
        <member name="T:Alvas.Audio.FormatChooseResult">
            <summary>
            Class represents the <see cref="M:Alvas.Audio.AudioCompressionManager.ChooseCompatibleFormat(System.IntPtr,System.IntPtr)"></see> result
            </summary>
        </member>
        <member name="M:Alvas.Audio.FormatChooseResult.#ctor(System.Int32,System.IntPtr,System.String,System.String)">
            <summary>
            
            </summary>
            <param name="result"></param>
            <param name="format"></param>
            <param name="formatTagName"></param>
            <param name="formatName"></param>
        </member>
        <member name="P:Alvas.Audio.FormatChooseResult.FormatName">
            <summary>
            Gets format name
            </summary>
        </member>
        <member name="P:Alvas.Audio.FormatChooseResult.FormatTagName">
            <summary>
            Gets format tag name
            </summary>
        </member>
        <member name="P:Alvas.Audio.FormatChooseResult.Format">
            <summary>
            Gets format
            </summary>
        </member>
        <member name="P:Alvas.Audio.FormatChooseResult.Result">
            <summary>
            Returns 0 if successful (<see cref="P:Alvas.Audio.FormatChooseResult.Format"></see> property is valid) or an error (including the user chose the Cancel button or the Close command on the System menu to close the dialog box) otherwise (<see cref="P:Alvas.Audio.FormatChooseResult.Format">Format</see> property is not valid).
            </summary>
        </member>
        <member name="F:Alvas.Audio.DmoConvert.PCM">
            <summary> MEDIASUBTYPE_PCM </summary>
        </member>
        <member name="F:Alvas.Audio.DmoConvert.Audio">
            <summary> MEDIATYPE_Audio 'auds' </summary>
        </member>
        <member name="F:Alvas.Audio.DmoConvert.WaveEx">
            <summary> FORMAT_WaveFormatEx </summary>
        </member>
        <member name="M:Alvas.Audio.AboutBox.Dispose(System.Boolean)">
            <summary>
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:Alvas.Audio.AboutBox.InitializeComponent">
            <summary>
            Required method for Designer support - do not modify
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="T:Alvas.Audio.MixerControl">
            <summary>
            Mixer control.
            </summary>
        </member>
        <member name="M:Alvas.Audio.MixerControl.SetValue(System.Int32)">
            <summary>
            Sets the control value.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:Alvas.Audio.MixerControl.GetValue">
            <summary>
            Gets the control value.
            </summary>
            <returns></returns>
        </member>
        <member name="P:Alvas.Audio.MixerControl.MixerLine">
            <summary>
            Gets the mixer line.
            </summary>
            <value>The mixer line.</value>
        </member>
        <member name="P:Alvas.Audio.MixerControl.MixerID">
            <summary>
            Gets the mixer ID.
            </summary>
            <value>The mixer ID.</value>
        </member>
        <member name="P:Alvas.Audio.MixerControl.ControlID">
            <summary>
            Gets the control ID.
            </summary>
            <value>The control ID.</value>
        </member>
        <member name="P:Alvas.Audio.MixerControl.ShortName">
            <summary>
            Gets the short name of the control.
            </summary>
            <value>The short name.</value>
        </member>
        <member name="P:Alvas.Audio.MixerControl.Name">
            <summary>
            Gets the control name.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Alvas.Audio.MixerControl.Value">
            <summary>
            Gets or sets the control value.
            </summary>
            <value>The control value.</value>
        </member>
        <member name="T:Alvas.Audio.DoneEventArgs">
            <summary>
            Provides data for <see cref="E:Alvas.Audio.PlayerEx.Done">Done</see> event.
            </summary>
        </member>
        <member name="T:Alvas.Audio.DataEventArgs">
            <summary>
            Provides data for <see cref="E:Alvas.Audio.RecorderEx.Data">Data</see> event.
            </summary>
        </member>
        <member name="M:Alvas.Audio.DataEventArgs.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of the DataEventArgs class.
            </summary>
            <param name="data">The data array.</param>
        </member>
        <member name="P:Alvas.Audio.DataEventArgs.Data">
            <summary>
            Gets byte data array.
            </summary>
            <value>The data array.</value>
        </member>
        <member name="M:Alvas.Audio.DoneEventArgs.#ctor(System.Byte[],System.Boolean)">
            <summary>
            
            </summary>
            <param name="data"></param>
            <param name="isEndPlaying"></param>
        </member>
        <member name="P:Alvas.Audio.DoneEventArgs.IsEndPlaying">
            <summary>
            Gets a value indicating whether this instance is end playing.
            </summary>
            <value>
            	<c>true</c> if this instance is end playing; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Alvas.Audio.AcmConverter">
            <summary>
            <see cref="T:Alvas.Audio.AcmConverter"></see> class converts audio data from one format to another.
            </summary>
        </member>
        <member name="M:Alvas.Audio.AcmConverter.#ctor(System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Alvas.Audio.AcmConverter"></see> class 
            </summary>
            <param name="oldFormat">Old audio format</param>
            <param name="newFormat">New audio format. Use <see cref="M:Alvas.Audio.AudioCompressionManager.ChooseCompatibleFormat(System.IntPtr,System.IntPtr)"></see> or <see cref="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormatList(System.IntPtr)"></see> or <see cref="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormat(System.IntPtr,System.Int16)"></see> for search compatible format</param>
            <param name="fastConversion"><c>true</c> if the conversion is fast; otherwise, the conversion is high-quality.</param>
        </member>
        <member name="M:Alvas.Audio.AcmConverter.Convert(System.Byte[])">
            <summary>
            Converts audio data from one format to another.
            </summary>
            <param name="data"></param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AcmConverter.Close">
            <summary>
            Closes the AcmConverter object and releases any system resources associated with it. 
            </summary>
        </member>
        <member name="T:Alvas.Audio.WaveFormat">
            <summary>
            Describes the format of the waveform-audio data.
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveFormat.wFormatTag">
            <summary>
            Format tag.
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveFormat.nChannels">
            <summary>
            Number of channels in the waveform-audio data. Mono data uses one channel and stereo data uses two channels. 
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveFormat.nSamplesPerSec">
            <summary>
            Sample rate, in samples per second. 
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveFormat.nAvgBytesPerSec">
            <summary>
            Required average data transfer rate, in bytes per second. For example, 16-bit stereo at 44.1 kHz has an average data rate of 176,400 bytes per second (2 channels — 2 bytes per sample per channel — 44,100 samples per second). 
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveFormat.nBlockAlign">
            <summary>
            Block alignment, in bytes. The block alignment is the minimum atomic unit of data. For PCM data, the block alignment is the number of bytes used by a single sample, including data for both channels if the data is stereo. For example, the block alignment for 16-bit stereo PCM is 4 bytes (2 channels — 2 bytes per sample). 
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveFormat.wBitsPerSample">
            <summary>
            Bits per sample for the wFormatTag format type. If wFormatTag is PCM, then wBitsPerSample should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for wBitsPerSample, so this member can be zero. 
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveFormat.Equals(System.Object)">
            <summary>
            
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveFormat.GetHashCode">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="T:Alvas.Audio.WinApi">
            <summary>
            WinApi.
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.AMMultiMediaStream">
            <summary>
            CLSID_AMMultiMediaStream
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.AMAudioData">
            <summary>
            CLSID_AMAudioData
            </summary>
        </member>
        <member name="M:Alvas.Audio.WinApi.MSStatus.GetErrorText(System.Int32)">
            <summary>
            GetErrorText
            Get text description for status code
            http://msdn.microsoft.com/en-us/library/ms783646(VS.85).aspx
            </summary>
            <param name="errorCode">Error code</param>
            <returns>error description (null for unknown)</returns>
        </member>
        <member name="M:Alvas.Audio.WinApi.MSStatus.Succeed(System.Int32)">
            <summary>
            Simulate COM (SUCCEEDED) macro
            </summary>
            <param name="errorCode"></param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WinApi.MSStatus.ThrowExceptionForHR(System.Int32)">
            <summary>
            ThrowExceptionForHR
            Throw an exception for HR value (doesn't throw for S_OK, S_FALSE)
            </summary>
            <param name="errorCode">Error code</param>
        </member>
        <member name="T:Alvas.Audio.WinApi.CreateDevEnum">
            <summary>
            CLSID_SystemDeviceEnum
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.CDef">
            <summary>
            From CDEF_CLASS_* defines
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOPartialMediatype">
            <summary>
            From DMO_PARTIAL_MEDIATYPE
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOEnumerator">
            <summary>
            From DMO_ENUM_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DsCAUUID">
            <summary>
            From CAUUID
            </summary>
        </member>
        <member name="M:Alvas.Audio.WinApi.DsCAUUID.ToGuidArray">
            <summary>
            Perform a manual marshaling of pElems to retrieve an array of System.Guid.
            Assume this structure has been already filled by the ISpecifyPropertyPages.GetPages() method.
            </summary>
            <returns>A managed representation of pElems (cElems items)</returns>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOOutputDataBuffer">
            <summary>
            From DMO_OUTPUT_DATA_BUFFER
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOOutputDataBufferFlags">
            <summary>
            From _DMO_OUTPUT_DATA_BUFFER_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOProcessOutput">
            <summary>
            From DMO_PROCESS_OUTPUT_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOInputDataBuffer">
            <summary>
            From DMO_INPUT_DATA_BUFFER_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOInputStatusFlags">
            <summary>
            From DMO_INPUT_STATUS_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOSetType">
            <summary>
            From _DMO_SET_TYPE_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOOutputStreamInfo">
            <summary>
            From DMO_OUTPUT_STREAM_INFO_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOInputStreamInfo">
            <summary>
            From DMO_INPUT_STREAM_INFO_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.WinApi.DMOInplaceProcess">
            <summary>
            From DMO_INPLACE_PROCESS_FLAGS
            </summary>
        </member>
        <member name="T:Alvas.Audio.Mp3Writer">
             <summary>
             Writes MP3 data to the stream.
             </summary>
             <example> This example shows simple using of Mp3Writer class.
             <code>
            Mp3Writer mw = new Mp3Writer(File.Create("new.mp3"));
            mw.WriteData(dataMp3);
            mw.Close();
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.AudioWriter">
            <summary>
            Represents a writer that can write an audio data to the stream. This class is abstract.
            </summary>
        </member>
        <member name="T:Alvas.Audio.IAudioWriter">
            <summary>
            IAudioWriter interface provides methods for writing audio data.
            </summary>
        </member>
        <member name="M:Alvas.Audio.IAudioWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array
            </summary>
            <param name="buffer"></param>
        </member>
        <member name="M:Alvas.Audio.IAudioWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="M:Alvas.Audio.AudioWriter.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Alvas.Audio.AudioWriter"></see> class based on the supplied stream.
            </summary>
            <param name="output">The supplied stream.</param>
        </member>
        <member name="M:Alvas.Audio.AudioWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.AudioWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Writer.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the Mp3Writer class based on the supplied stream.
            </summary>
            <param name="output">The supplied stream.</param>
        </member>
        <member name="M:Alvas.Audio.Mp3Writer.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.Mp3Writer.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="T:Alvas.Audio.Mp3Reader">
             <summary>
             Reads audio data from the Mp3 stream.
             </summary>
             <example> This example shows simple using of Mp3Reader.
             <code>
            Mp3Reader mr = new Mp3Reader(File.OpenRead("123.mp3"));
            IntPtr format = mr.ReadFormat();
            byte[] data = mr.ReadData();
            mr.Close();
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.AudioReader">
            <summary>
            Represents a reader that can read an audio data from the stream. This class is abstract.
            </summary>
        </member>
        <member name="T:Alvas.Audio.IAudioReader">
            <summary>
            IAudioReader interface provides methods for reading audio data.
            </summary>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.Close">
            <summary>
            Closes the current reader and the underlying stream.
            </summary>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)">
            <summary>
            Converts from milliseconds to bytes for current stream.
            </summary>
            <param name="milliseconds">Time, expressed in milliseconds.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.IAudioReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Alvas.Audio.AudioReader"></see> class for the specified stream. 
            </summary>
            <param name="input">The stream to be read.</param>
        </member>
        <member name="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)">
            <summary>
            Converts from milliseconds to bytes for current stream.
            </summary>
            <param name="milliseconds">Time, expressed in milliseconds.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the Mp3Reader class for the specified stream. 
            </summary>
            <param name="input">The stream to be read.</param>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.MakeWave(System.IO.Stream)">
             <summary>
             Changes MP3 stream to Wave stream.
             </summary>
             <param name="stream">stream with resulting wave header and data</param>
             <example> This example shows simple using of MakeWave method.
             <code>
            string mp3File = "in.mp3";
            using (Mp3Reader mr = new Mp3Reader(File.OpenRead(mp3File)))
            {
                string wavFile = "out.wav";
                using (FileStream fs = File.Create(wavFile))
                {
                    mr.MakeWave(fs);
                }
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3Reader.ReadID3v1Tag">
             <summary>
             Reads ID3 tag version 1
             </summary>
             <returns></returns>
             <example> This example shows simple using of ReadID3v1Tag method.
             <code>
            Mp3Reader br = new Mp3Reader(File.OpenRead(fileName));
            ID3v1 id3v1 = br.ReadID3v1Tag();
            br.Close();
            if (id3v1 != null)
            {
                Console.WriteLine(id3v1.Title);
            }
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.MixerException">
            <summary>
            The exception that is thrown when an Mixer error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.MixerException.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Alvas.Audio.MixerException"/> class.
            </summary>
            <param name="errorCode">The error code.</param>
        </member>
        <member name="P:Alvas.Audio.MixerException.ErrorCode">
            <summary>
            Gets the error code that is associated with this exception.
            </summary>
        </member>
        <member name="T:Alvas.Audio.DestinationLine">
            <summary>
            Destination line.
            </summary>
        </member>
        <member name="T:Alvas.Audio.MixerLine">
            <summary>
            Mixer line.
            </summary>
        </member>
        <member name="M:Alvas.Audio.MixerLine.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
        </member>
        <member name="P:Alvas.Audio.MixerLine.Channels">
            <summary>
            Gets quantity of channels for mixer line
            </summary>
        </member>
        <member name="P:Alvas.Audio.MixerLine.MixerLineID">
            <summary>
            Gets the mixer line ID.
            </summary>
            <value>The mixer line ID.</value>
        </member>
        <member name="P:Alvas.Audio.MixerLine.Name">
            <summary>
            Gets the mixer line name.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Alvas.Audio.MixerLine.ShortName">
            <summary>
            Gets the short name of the mixer line.
            </summary>
            <value>The short name.</value>
        </member>
        <member name="P:Alvas.Audio.MixerLine.MixerID">
            <summary>
            Gets the mixer ID.
            </summary>
            <value>The mixer ID.</value>
        </member>
        <member name="P:Alvas.Audio.MixerLine.Controls">
            <summary>
            Gets the controls of the mixer line.
            </summary>
            <value>The controls.</value>
        </member>
        <member name="P:Alvas.Audio.DestinationLine.Sources">
            <summary>
            Gets the source lines.
            </summary>
            <value>The sources.</value>
        </member>
        <member name="T:Alvas.Audio.AuReader">
            <summary>
            Reads an audio data from the .AU and .SND streams. 
            </summary>
        </member>
        <member name="M:Alvas.Audio.AuReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the AuReader class for the specified stream. 
            </summary>
            <param name="input">The stream to be read.</param>
        </member>
        <member name="M:Alvas.Audio.AuReader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AuReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="T:Alvas.Audio.Recorder">
             <summary>
             Recorder is a component for sound recording in pulse code modulation (PCM) wave file format.
             </summary>
             <example> This example shows how simple use Recorder.
             <code>
            rec.Open();
            Recorder.Channel rc = Recorder.Channel.Stereo;
            Recorder.BitsPerSample rbps = Recorder.BitsPerSample.Bps16;
            Recorder.SamplesPerSec rsps = Recorder.SamplesPerSec.Sps8000;
            rec.Configure(rc, rbps, rsps);
            rec.Record();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Recorder.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.Recorder.Open">
            <summary>
            Opens device for recording.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Recorder.Configure(Alvas.Audio.Recorder.Channel,Alvas.Audio.Recorder.BitsPerSample,Alvas.Audio.Recorder.SamplesPerSec)">
            <summary>
            Configures device before recording.
            </summary>
            <param name="channel"></param>
            <param name="bitsPerSample"></param>
            <param name="samplesPerSec"></param>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Recorder.Record">
            <summary>
            Records sound.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Recorder.Stop">
            <summary>
            Stops recording.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Recorder.Save(System.String)">
            <summary>
            Saves recorded sound into file.
            </summary>
            <param name="fileName">File name for saving.</param>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Recorder.Close">
            <summary>
            Closes opened recording device. 
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Recorder.GetErrorString(System.Int32)">
            <summary>
            Returns string that describes the specified error code. 
            </summary>
            <param name="err">Error code number</param>
            <returns></returns>
        </member>
        <member name="P:Alvas.Audio.Recorder.IsRecording">
            <summary>
            Returns true if recording or false otherwise.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Recorder.Status">
            <summary>
            Gets current device status.
            </summary>
        </member>
        <member name="T:Alvas.Audio.Recorder.Channel">
            <summary>
            Channels enumeration.
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.Channel.Mono">
            <summary>
            Mono
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.Channel.Stereo">
            <summary>
            Stereo
            </summary>
        </member>
        <member name="T:Alvas.Audio.Recorder.SamplesPerSec">
            <summary>
            Samples per second enumeration.
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.SamplesPerSec.Sps8000">
            <summary>
            8000 samples per second
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.SamplesPerSec.Sps11025">
            <summary>
            11025 samples per second
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.SamplesPerSec.Sps22050">
            <summary>
            22050 samples per second
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.SamplesPerSec.Sps44100">
            <summary>
            44100 samples per second
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.SamplesPerSec.Sps48000">
            <summary>
            48000 samples per second
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.SamplesPerSec.Sps96000">
            <summary>
            96000 samples per second
            </summary>
        </member>
        <member name="T:Alvas.Audio.Recorder.BitsPerSample">
            <summary>
            Bits per sample enumeration.
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.BitsPerSample.Bps8">
            <summary>
            8 bits per sample
            </summary>
        </member>
        <member name="F:Alvas.Audio.Recorder.BitsPerSample.Bps16">
            <summary>
            16 bits per sample
            </summary>
        </member>
        <member name="T:Alvas.Audio.PlayerEx">
             <summary>
             PlayerEx is a component for playing sound in PCM, IMA ADPCM, Microsoft ADPCM, CCITT A-Law, CCITT u-Law, GSM 6.10, Windows Media Audio V2, MPEG Layer-3 (mp3) and other wave file format. 
             </summary>
             <example> This example shows simple using of PlayerEx class.
             <code>
            public static void TestPlayerEx()
            {
                PlayerEx plex = new PlayerEx();
                plex.Done += new PlayerEx.DoneEventHandler(plex_Done);
                Mp3Reader mr = new Mp3Reader(File.OpenRead("in.mp3"));
                IntPtr format = mr.ReadFormat();
                byte[] data = mr.ReadData();
                mr.Close();
                plex.OpenPlayer(format);
                plex.AddData(data);
                plex.StartPlay();
            }
            
            static void plex_Done(object sender, DoneEventArgs e)
            {
                if (e.IsEndPlaying)
                {
                    ((PlayerEx)sender).ClosePlayer();
                }
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.GetPlayerName(System.Int32)">
             <summary>
             Returns player name by index.
             </summary>
             <param name="index"></param>
             <returns></returns>
             <example> This example shows simple using of GetPlayerName method.
             <code>
            for (int i = 0; i &lt; PlayerEx.PlayerCount; i++)
            {
                Console.WriteLine(PlayerEx.GetPlayerName(i));
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.#ctor(System.Boolean)">
            <summary>
            
            </summary>
            <param name="isConsole"><c>true</c> if used in console application or Windows service; otherwise, <c>false</c>.</param>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.GetPosition(Alvas.Audio.TimeFormat)">
            <summary>
            Gets the current sound position.
            </summary>
            <param name="time">The time parameter specifies the sound position in milliseconds, bytes or samples.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.OpenPlayer(System.IntPtr)">
            <summary>
            Opens the player.
            </summary>
            <param name="format">The format.</param>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.StartPlay">
            <summary>
            Plays the audio data.
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.AddMixData(System.Byte[][])">
             <summary>
             Adds and mixes the audio data for playing.
             </summary>
             <param name="data">The audio data.</param>
             <example> This example shows how mixed audio data plays.
             <code>
            public void PlayMix()
            {
            		string dir = Path.GetDirectoryName(Application.ExecutablePath);
            		string path1 = dir + @"\1.wav";
            		WaveReader wr1 = new WaveReader(File.OpenRead(path1));
            		IntPtr format = wr1.ReadFormat();
            		WaveFormat wf = AudioCompressionManager.GetWaveFormat(format);
            		playEx.OpenPlayer(format);//validFormat
            		byte[] data1 = wr1.ReadData();
            		wr1.Close();
            		//----------
            		string path2 = dir + @"\2.wav";
            		WaveReader wr2 = new WaveReader(File.OpenRead(path2));
            		byte[] data2 = wr2.ReadData();
            		wr2.Close();
            		playEx.AddMixData(data1, data2);
            		playEx.StartPlay();
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.AddData(System.Byte[])">
            <summary>
            Adds the audio data for playing.
            </summary>
            <param name="data">The audio data.</param>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.OnOpen">
            <summary>
            Raises the Open event.
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.OnClose">
            <summary>
            Raises the Close event.
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.OnDone(System.Byte[])">
            <summary>
            Raises the Done event.
            </summary>
            <param name="data"></param>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.ClosePlayer">
            <summary>
            Closes the player.
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.PausePlay">
            <summary>
            Pauses the play.
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.ResumePlay">
            <summary>
            Resumes the play.
            </summary>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.SetVolume(System.Int32,System.Int32)">
            <summary>
            Sets the volume.
            </summary>
            <param name="leftVolume">The left volume. Value between 0 and ushort.MaxValue.</param>
            <param name="rightVolume">The right volume. Value between 0 and ushort.MaxValue.</param>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.GetVolume(System.Int32@,System.Int32@)">
            <summary>
            Gets the volume.
            </summary>
            <param name="leftVolume">The left volume.</param>
            <param name="rightVolume">The right volume.</param>
        </member>
        <member name="M:Alvas.Audio.PlayerEx.GetMixerNo">
            <summary>
            Returns mixer number
            </summary>
            <returns></returns>
        </member>
        <member name="P:Alvas.Audio.PlayerEx.PlayerCount">
            <summary>
            Gets the number of audio players installed in system.
            </summary>
        </member>
        <member name="P:Alvas.Audio.PlayerEx.BufferSizeInMS">
            <summary>
            Gets or sets the player buffer size in milliseconds. By default 500 ms.
            </summary>
        </member>
        <member name="P:Alvas.Audio.PlayerEx.State">
            <summary>
            Gets the player state.
            </summary>
        </member>
        <member name="P:Alvas.Audio.PlayerEx.PlayerID">
            <summary>
            Gets or sets the current player. If -1 the system uses suitable player.
            </summary>
        </member>
        <member name="P:Alvas.Audio.PlayerEx.Format">
            <summary>
            Gets pointer to audio format.
            </summary>
        </member>
        <member name="P:Alvas.Audio.PlayerEx.VolumeScale">
            <summary>
            Scales the volume of audio data. 100 is normal volume, 50 is reduced by half, 200 is increased in 2 times
            </summary>
        </member>
        <member name="E:Alvas.Audio.PlayerEx.Open">
            <summary>
            Occurs when the player is opened for playing.
            </summary>
        </member>
        <member name="E:Alvas.Audio.PlayerEx.Close">
            <summary>
            Occurs when the player is closed after playing.
            </summary>
        </member>
        <member name="E:Alvas.Audio.PlayerEx.Done">
            <summary>
            Occurs when the player returns next portion of the played data.
            </summary>
        </member>
        <member name="T:Alvas.Audio.PlayerEx.DoneEventHandler">
            <summary>
            Represents the method that will handle the <see cref="E:Alvas.Audio.PlayerEx.Done">Done</see> event of the PlayerEx.
            </summary>
        </member>
        <member name="T:Alvas.Audio.WaveInfo">
            <summary>
            Wave Info tag list
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.ArchivalLocation">
            <summary>
            Archival Location
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Artist">
            <summary>
            Artist
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Commissioned">
            <summary>
            Commissioned
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Comments">
            <summary>
            Comments
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Copyright">
            <summary>
            Copyright
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.CreationDate">
            <summary>
            Creation date
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Cropped">
            <summary>
            Cropped
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Dimensions">
            <summary>
            Dimensions
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.DotsPerInch">
            <summary>
            Dots Per Inch
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Engineer">
            <summary>
            Engineer
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Genre">
            <summary>
            Genre
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Keywords">
            <summary>
            Keywords
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Lightness">
            <summary>
            Lightness
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Medium">
            <summary>
            Medium
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Name">
            <summary>
            Name
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.PaletteSetting">
            <summary>
            Palette Setting
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Product">
            <summary>
            Product
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Subject">
            <summary>
            Subject
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Software">
            <summary>
            Software
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Sharpness">
            <summary>
            Sharpness
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Source">
            <summary>
            Source
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.SourceForm">
            <summary>
            Source Form
            </summary>
        </member>
        <member name="F:Alvas.Audio.WaveInfo.Technician">
            <summary>
            Technician
            </summary>
        </member>
        <member name="T:Alvas.Audio.FormatDetails">
            <summary>
            The FormatDetails structure details a waveform-audio format for a specific format tag for an ACM (AudioCompressionManager) driver.
            </summary>
        </member>
        <member name="M:Alvas.Audio.FormatDetails.ToString">
            <summary>
            Returns the fully qualified type name of this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> containing a fully qualified type name.
            </returns>
        </member>
        <member name="F:Alvas.Audio.FormatDetails.FormatIndex">
            <summary>
            Index of the format to retrieve details for. The index ranges from zero to one less than the number of standard formats supported by an ACM driver for a format tag.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatDetails.FormatTag">
            <summary>
            Waveform-audio format tag that the FormatDetails structure describes.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatDetails.Support">
            <summary>
            Driver-support flags specific to the specified format.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatDetails.FormatHandle">
            <summary>
            Handle of the format structure that will receive the format details.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatDetails.FormatName">
            <summary>
            String that describes the format for the FormatTag type.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatDetails.Driver">
            <summary>
            Driver id
            </summary>
        </member>
        <member name="P:Alvas.Audio.FormatDetails.ShowFormatTag">
            <summary>
            Gets or sets the value indicating whether show format tag in <see cref="M:Alvas.Audio.FormatDetails.ToString"></see>.
            </summary>
        </member>
        <member name="T:Alvas.Audio.MediaBuffer">
            <summary>
            Attempting to implement the COM IMediaBuffer interface as a .NET object
            Not sure what will happen when I pass this to an unmanaged object
            </summary>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.#ctor(System.Int32)">
            <summary>
            Creates a new Media Buffer
            </summary>
            <param name="maxLength">Maximum length in bytes</param>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.Dispose">
            <summary>
            Dispose and free memory for buffer
            </summary>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.Finalize">
            <summary>
            Finalizer
            </summary>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.Alvas#Audio#WinApi#IMediaBuffer#SetLength(System.Int32)">
            <summary>
            Set length of valid data in the buffer
            </summary>
            <param name="length">length</param>
            <returns>HRESULT</returns>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.Alvas#Audio#WinApi#IMediaBuffer#GetMaxLength(System.Int32@)">
            <summary>
            Gets the maximum length of the buffer
            </summary>
            <param name="maxLength">Max length (output parameter)</param>
            <returns>HRESULT</returns>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.Alvas#Audio#WinApi#IMediaBuffer#GetBufferAndLength(System.IntPtr@,System.Int32@)">
            <summary>
            Gets buffer and / or length
            </summary>
            <param name="bufferPointerPointer">Pointer to variable into which buffer pointer should be written</param>
            <param name="validDataLengthPointer">Pointer to variable into which valid data length should be written</param>
            <returns>HRESULT</returns>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.LoadData(System.Byte[],System.Int32)">
            <summary>
            Loads data into this buffer
            </summary>
            <param name="data">Data to load</param>
            <param name="bytes">Number of bytes to load</param>
        </member>
        <member name="M:Alvas.Audio.MediaBuffer.RetrieveData(System.Byte[],System.Int32)">
            <summary>
            Retrieves the data in the output buffer
            </summary>
            <param name="data">buffer to retrieve into</param>
            <param name="offset">offset within that buffer</param>
        </member>
        <member name="P:Alvas.Audio.MediaBuffer.Length">
            <summary>
            Length of data in the media buffer
            </summary>
        </member>
        <member name="T:Alvas.Audio.HResult">
            <summary>
            HResult
            </summary>
        </member>
        <member name="F:Alvas.Audio.HResult.S_OK">
            <summary>
            S_OK
            </summary>
        </member>
        <member name="F:Alvas.Audio.HResult.S_FALSE">
            <summary>
            S_FALSE
            </summary>
        </member>
        <member name="F:Alvas.Audio.HResult.E_INVALIDARG">
            <summary>
            E_INVALIDARG (from winerror.h)
            </summary>
        </member>
        <member name="M:Alvas.Audio.HResult.MAKE_HRESULT(System.Int32,System.Int32,System.Int32)">
            <summary>
            MAKE_HRESULT macro
            </summary>
        </member>
        <member name="T:Alvas.Audio.DsReaderException">
            <summary>
            The exception that is thrown when a DirectShow reader error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.DsReaderException.#ctor(System.String)">
            <summary>
            
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Alvas.Audio.DsReaderException.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="P:Alvas.Audio.DsReaderException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.AudioCompressionManager">
            <summary>
            The audio compression manager adds system-level support for the 
            transparent run-time audio compression, decompression
            and waveform-audio data format selection 
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.ALawFormatTag">
            <summary>
            A-Law format tag
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.MuLawFormatTag">
            <summary>
            Mu-Law format tag
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.Gsm610FormatTag">
            <summary>
            GSM 6.10 format tag
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.ImaAdpcmFormatTag">
            <summary>
            IMA ADPCM format tag
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.AdpcmFormatTag">
            <summary>
            Microsoft ADPCM format tag
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.MpegLayer3FormatTag">
            <summary>
            ISO/MPEG Layer3 format tag
            </summary>
        </member>
        <member name="F:Alvas.Audio.AudioCompressionManager.PcmFormatTag">
            <summary>
            PCM format tag
            </summary>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.FreeFormat(System.IntPtr)">
            <summary>
            Frees memory previously allocated for audio format. 
            </summary>
            <param name="format">audio format</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.SwapStereo(Alvas.Audio.IAudioReader,Alvas.Audio.WaveWriter)">
            <summary>
            Swaps stereo channels.
            </summary>
            <param name="ar"></param>
            <param name="ww"></param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.SwapStereo(System.IntPtr,System.Byte[])">
            <summary>
            Swaps stereo channels.
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Resample(System.IntPtr,System.Byte[],System.IntPtr)">
            <summary>
            Performs resampling audio data from and to 8/16/24/32-bit integer PCM and 32-bit IEEE Float audio formats.
            </summary>
            <param name="inFormat">input audio format</param>
            <param name="data">input audio data</param>
            <param name="outFormat">output audio format</param>
            <returns>output audio data</returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Resample(Alvas.Audio.IAudioReader,System.IntPtr)">
            <summary>
            Performs resampling audio data from and to 8/16/24/32-bit integer PCM and 32-bit IEEE Float audio formats.
            </summary>
            <param name="ar"></param>
            <param name="format"></param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Resample(Alvas.Audio.IAudioReader,Alvas.Audio.WaveWriter)">
            <summary>
            Performs resampling audio data from and to 8/16/24/32-bit integer PCM and 32-bit IEEE Float audio formats.
            </summary>
            <param name="ar"></param>
            <param name="ww"></param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.RemoveDcOffset(System.IntPtr,System.Byte[])">
            <summary>
            Removes DC offset. DC offset is an offsetting of a signal from zero. Occurs when hardware, such as a sound card, adds DC offset to a recorded audio signal.
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.RemoveDcOffset(System.IntPtr,System.Byte[],System.Int16)">
            <summary>
            Removes DC offset. DC offset is an offsetting of a signal from zero. Occurs when hardware, such as a sound card, adds DC offset to a recorded audio signal.
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data</param>
            <param name="offset">If the value is 0, the DC offset will be calculated automatically; otherwise, the specified value is used.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.CheckSilent(System.IntPtr,System.Byte[],System.Int16)">
             <summary>
             Checks the level of audio signal. If it is above silentLevel returns false otherwise it returns true. 
             </summary>
             <param name="format">audio format</param>
             <param name="data">audio data</param>
             <param name="silentLevel">Can be in the range 0 .. short.MaxValue</param>
             <returns></returns>
             <example> This example shows simple using of CheckSilent method.
             <code>
            private static void SkipSilent(string fileName, short silentLevel)
            {
                WaveReader wr = new WaveReader(File.OpenRead(fileName));
                IntPtr format = wr.ReadFormat();
                WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"), AudioCompressionManager.FormatBytes(format));
                int i = 0;
                while (true)
                {
                    byte[] data = wr.ReadData(i, 1);
                    if (data.Length == 0)
                    {
                        break;
                    }
                    if (!AudioCompressionManager.CheckSilent(format, data, silentLevel))
                    {
                        ww.WriteData(data);
                    }
                }
                ww.Close();
                wr.Close();
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Inverse(System.IntPtr,System.Byte[])">
            <summary>
            Inverts the audio signal to 180 degrees. All positive values in the wave form are replaced by negative and vice versa.
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.MergeStereo(System.String,System.String,System.String)">
            <summary>
            Merges 2 mono WAVE files into one stereo.
            </summary>
            <param name="leftFile">file name for left channel</param>
            <param name="rightFile">file name for right channel</param>
            <param name="stereoFile">file name for result stereo file</param>
            <example> This example shows simple using of MergeStereo method.
            <code>
            AudioCompressionManager.MergeStereo(@"Left.wav", @"Right.wav", @"res.wav");
            </code>
            </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.MergeStereo(System.IO.Stream,System.IO.Stream,System.IO.Stream)">
            <summary>
            Merges 2 mono WAVE streams into one stereo.
            </summary>
            <param name="leftStream">stream for left channel</param>
            <param name="rightStream">stream for right channel</param>
            <param name="stereoStream">result stereo stream</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.MergeStereo(System.IntPtr,System.Byte[],System.Byte[],System.IntPtr@,System.Byte[]@)">
            <summary>
            Merges 2 mono audio arrays into one stereo.
            </summary>
            <param name="formatMono">input mono format</param>
            <param name="leftData">data for left channel</param>
            <param name="rightData">data for right channel</param>
            <param name="formatStereo">output stereo format</param>
            <param name="dataStereo">output stereo data</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ChooseCompatibleFormat(System.IntPtr,System.IntPtr)">
             <summary>
             Shows the dialog box that enables the user to select the waveform-audio format.
             </summary>
             <param name="owner">Handle to the window that owns the dialog box.</param>
             <param name="oldFormat">Specify valid format handle to get the destination formats that can be converted from this format.Or IntPtr.Zero to get all supported formats.</param>
             <returns></returns>
             <example> This example shows simple using of ChooseCompatibleFormat method.
             <code>
            IntPtr formatOld = AudioCompressionManager.GetPcmFormat(1, 16, 44100);
            FormatChooseResult fcr = AudioCompressionManager.ChooseCompatibleFormat(IntPtr.Zero, formatOld);
            if (fcr.Result == 0)
            {
                Console.WriteLine("{0} {1}", fcr.FormatTagName, fcr.FormatName);
                IntPtr format = fcr.Format;
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ChooseCompatibleFormat(System.IntPtr,System.IntPtr,System.String)">
             <summary>
             Shows the dialog box that enables the user to select the waveform-audio format.
             </summary>
             <param name="owner">Handle to the window that owns the dialog box.</param>
             <param name="oldFormat">Specify valid format handle to get the destination formats that can be converted from this format.Or IntPtr.Zero to get all supported formats.</param>
             <param name="title">Dialog box title</param>
             <returns></returns>
             <example> This example shows simple using of ChooseCompatibleFormat method.
             <code>
            IntPtr formatOld = AudioCompressionManager.GetPcmFormat(1, 16, 44100);
            FormatChooseResult fcr = AudioCompressionManager.ChooseCompatibleFormat(IntPtr.Zero, formatOld, "Select Audio Format");
            if (fcr.Result == 0)
            {
                Console.WriteLine("{0} {1}", fcr.FormatTagName, fcr.FormatName);
                IntPtr format = fcr.Format;
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.RecalculateData(System.IntPtr,System.Byte[],System.Int32)">
            <summary>
            Recalculates audio data array to the specified length. (For <see cref="T:Alvas.Audio.SoundLevelMeter"></see>)
            </summary>
            <param name="format">Audio format</param>
            <param name="data">Audio data array</param>
            <param name="length">New length of audio data array</param>
            <returns>New audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ToPcm(System.IntPtr,System.Byte[],System.IntPtr@,System.Byte[]@)">
             <summary>
             Helper for decoding audio data in PCM (Pulse-code modulation).
             </summary>
             <param name="format">input audio format</param>
             <param name="data">input audio data</param>
             <param name="formatPcm">output audio format</param>
             <param name="dataPcm">output audio data</param>
             <example> This example shows simple using of ToPcm method.
             <code>
            string fileName = @"in.wav";
            WaveReader wr = new WaveReader(File.OpenRead(fileName));
            IntPtr formatWav = wr.ReadFormat();
            byte[] data = wr.ReadData();
            wr.Close();
            IntPtr formatPcm = IntPtr.Zero;
            byte[] dataPcm = null;
            AudioCompressionManager.ToPcm(formatWav, data, ref formatPcm, ref dataPcm);
            WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"), AudioCompressionManager.FormatBytes(formatPcm));
            ww.WriteData(dataPcm);
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormat(System.IntPtr,System.Int16)">
             <summary>
             Gets the format for the conversion from the specified format and specified format tag.
             </summary>
             <param name="format">The format handle</param>
             <param name="formatTag">The format tag</param>
             <returns></returns>
             <example> This example shows simple using of GetCompatibleFormat method.
             <code>
            IntPtr formaGsm = AudioCompressionManager.GetCompatibleFormat(AudioCompressionManager.GetPcmFormat(1, 16, 16000),
                            AudioCompressionManager.Gsm610FormatTag);
            FormatDetails fd = AudioCompressionManager.GetFormatDetails(formaGsm, true);
            Console.WriteLine(fd.ToString());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatList(Alvas.Audio.WaveFormat)">
            <summary>
            Gets the format list for specified <see cref="T:Alvas.Audio.WaveFormat"></see> and suitable driver.
            <list type="bullet">
            <item>
               <description>To filter the format list by <see cref="F:Alvas.Audio.WaveFormat.nChannels"></see> please specify the valid value or 0 otherwise;</description>
            </item>
            <item>
               <description>To filter the format list by <see cref="F:Alvas.Audio.WaveFormat.wBitsPerSample"></see> please specify the valid value or 0 otherwise;</description>
            </item>
            <item>
               <description>To filter the format list by <see cref="F:Alvas.Audio.WaveFormat.nSamplesPerSec"></see> please specify the valid value or 0 otherwise;</description>
            </item>
            <item>
               <description>To filter the format list by <see cref="F:Alvas.Audio.WaveFormat.wFormatTag"></see> please specify the valid value or 0 otherwise;</description>
            </item>
            </list>
            </summary>
            <param name="waveFormat">The wave format.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetPcmFormat(System.Int16,System.Int16,System.Int32)">
            <summary>
            Creates audio format for PCM data
            </summary>
            <param name="channels">channels number (1 - mono, 2 - stereo)</param>
            <param name="bitsPerSample">bits per sample (8 or 16)</param>
            <param name="samplesPerSec">samples per second (6000, for example)</param>
            <returns>Returns pointer to PCM format</returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFloat32Format(System.Int16,System.Int32)">
            <summary>
            Creates 32-bit IEEE Float audio format.
            </summary>
            <param name="channels">channels count</param>
            <param name="samplesPerSec">samples per second</param>
            <returns>32-bit IEEE Float audio format</returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetMp3Format(System.Int16,System.Int16,System.Int32)">
            <summary>
            Creates audio format for MPEG Layer3 audio data
            </summary>
            <param name="channels">channels number (1 - mono, 2 - stereo)</param>
            <param name="kbps">kbits per second (56, for example)</param>
            <param name="samplesPerSec">samples per second (11025, for example)</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Convert(Alvas.Audio.IAudioReader,Alvas.Audio.WaveWriter,System.Boolean)">
             <summary>
             Converts the audio data from the specified old format to the new format.
             </summary>
             <param name="wr"></param>
             <param name="ww"></param>
             <param name="fastConversion"></param>
             <example> This example shows simple using of Convert method.
             <code>
            Mp3Reader mr = new Mp3Reader(File.OpenRead("in.mp3"));
            IntPtr formatMp3 = mr.ReadFormat();
            IntPtr formatPcm = AudioCompressionManager.GetCompatibleFormat(formatMp3, 
                AudioCompressionManager.PcmFormatTag);
            WaveWriter ww = new WaveWriter(File.Create("out.wav"), 
                AudioCompressionManager.FormatBytes(formatPcm));
            AudioCompressionManager.Convert(mr, ww, false);
            mr.Close();
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Convert(System.IntPtr,System.IntPtr,System.Byte[],System.Boolean)">
             <summary>
             Converts the audio data from the specified old format to the new format.
             </summary>
             <param name="oldFormat">Old audio format.</param>
             <param name="newFormat">New audio format. Use <see cref="M:Alvas.Audio.AudioCompressionManager.ChooseCompatibleFormat(System.IntPtr,System.IntPtr)"></see> or <see cref="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormatList(System.IntPtr)"></see> or <see cref="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormat(System.IntPtr,System.Int16)"></see> for search compatible format</param>
             <param name="data">The audio data.</param>
             <param name="fastConversion"><c>true</c> if the conversion is fast; otherwise, the conversion is high-quality.</param>
             <returns>Returns the audio data in the new format.</returns>
             <example> This example shows simple using of Convert method.
             <code>
            Mp3Reader mr = new Mp3Reader(File.OpenRead("in.mp3"));
            IntPtr formatMp3 = mr.ReadFormat();
            byte[] dataMp3 = mr.ReadData();
            mr.Close();
            IntPtr formatPcm = AudioCompressionManager.GetCompatibleFormat(formatMp3,
                AudioCompressionManager.PcmFormatTag);
            byte[] dataPcm = AudioCompressionManager.Convert(formatMp3, formatPcm, dataMp3, false);
            WaveWriter ww = new WaveWriter(File.Create("out.wav"),
                AudioCompressionManager.FormatBytes(formatPcm));
            ww.WriteData(dataPcm);
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetWaveFormat(System.IntPtr)">
            <summary>
            Gets the <see cref="T:Alvas.Audio.WaveFormat"></see> for specified format handle.
            </summary>
            <param name="format">The format handle.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ChangeSpeed(System.String,System.String,System.Int32)">
             <summary>
             Changes the speed of audio file
             </summary>
             <param name="inFile">input file</param>
             <param name="outFile">output file</param>
             <param name="persent">100 is normal speed, 50 is reduced by half, 200 is increased in 2 times</param>
             <example> This example shows simple using of ChangeSpeed method.
             <code>
            string inFile = @"in.wav";
            string outFile = @"out.wav";
            int persent = 50;
            AudioCompressionManager.ChangeSpeed(inFile, outFile, persent);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ChangeSpeed(System.IO.Stream,System.IO.Stream,System.Int32)">
             <summary>
             Changes the speed of audio stream.
             </summary>
             <param name="inStream">input stream</param>
             <param name="outStream">output stream</param>
             <param name="persent">100 is normal speed, 50 is reduced by half, 200 is increased in 2 times</param>
             <example> This example shows simple using of ChangeSpeed method.
             <code>
            string inFile = @"in.wav";
            string outFile = @"out.wav";
            int persent = 50;
            AudioCompressionManager.ChangeSpeed(File.OpenRead(inFile), File.Create(outFile), persent);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ChangeSpeed(System.IntPtr,System.Byte[],System.Int32)">
             <summary>
             Changes the speed of audio data
             </summary>
             <param name="format">audio format</param>
             <param name="data">audio data</param>
             <param name="persent">100 is normal speed, 50 is reduced by half, 200 is increased in 2 times</param>
             <returns></returns>
             <example> This example shows simple using of ChangeSpeed method.
             <code>
            string inFile = @"in.mp3";
            string outFile = @"out.mp3";
            int persent = 50;
            Mp3Reader mr = new Mp3Reader(File.OpenRead(inFile));
            IntPtr format = mr.ReadFormat();
            byte[] data = mr.ReadData();
            mr.Close();
            byte[] outData = AudioCompressionManager.ChangeSpeed(format, data, persent);
            Mp3Writer mw = new Mp3Writer(File.Create(outFile));
            mw.WriteData(outData);
            mw.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Normalize(Alvas.Audio.IAudioReader,Alvas.Audio.IAudioWriter)">
            <summary>
            Normalize method raises the volume so that the highest sample level reaches a maximum level.
            </summary>
            <param name="ar"></param>
            <param name="aw"></param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Normalize(System.IntPtr,System.Byte[])">
            <summary>
            Normalize method raises the volume so that the highest sample level reaches a maximum level.
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ChangeVolume(System.IntPtr,System.Byte[],System.Int32)">
             <summary>
             Changes the volume of audio data
             </summary>
             <param name="format">audio format</param>
             <param name="data">audio data</param>
             <param name="persent">100 is normal volume, 50 is reduced by half, 200 is increased in 2 times</param>
             <returns></returns>
             <example> This example shows simple using of ChangeVolume method.
             <code>
            string inFile = @"in.mp3";
            string outFile = @"out.mp3";
            int persent = 50;
            Mp3Reader mr = new Mp3Reader(File.OpenRead(inFile));
            IntPtr format = mr.ReadFormat();
            byte[] data = mr.ReadData();
            mr.Close();
            byte[] outData = AudioCompressionManager.ChangeVolume(format, data, persent);
            Mp3Writer mw = new Mp3Writer(File.Create(outFile));
            mw.WriteData(outData);
            mw.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Copy(System.String,System.String,System.Int32,System.Int32)">
             <summary>
             Copy part audio data from in file to out file
             </summary>
             <param name="inFile">input file</param>
             <param name="outFile">output file</param>
             <param name="skipSeconds">skip seconds</param>
             <param name="readSeconds">read seconds</param>
             <example> This example shows simple using of Copy method.
             <code>
            string inFile = "in.wav";
            string outFile = "out.wav";
            int skipSeconds = 1;
            int readSeconds = 2;
            AudioCompressionManager.Copy(inFile, outFile, skipSeconds, readSeconds);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Copy(System.IO.Stream,System.IO.Stream,System.Int32,System.Int32)">
             <summary>
             Copy part audio data from in stream to out stream
             </summary>
             <param name="inStream">input stream</param>
             <param name="outStream">output stream</param>
             <param name="skipSeconds">skip seconds</param>
             <param name="readSeconds">read seconds</param>
             <example> This example shows simple using of Copy method.
             <code>
            string inFile = "in.wav";
            string outFile = "out.wav";
            int skipSeconds = 1;
            int readSeconds = 2;
            AudioCompressionManager.Copy(File.OpenRead(inFile), File.Create(outFile), skipSeconds, readSeconds);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Copy(System.IntPtr,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copy part audio data from byte array
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data</param>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns>Returns audio data byte array</returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.MixMany(System.IntPtr,System.Byte[],System.Byte[],System.Int32[])">
            <summary>
            Inserts and mixes one piece of audio data into main audio data with specified 
            offset multiple times.
            </summary>
            <param name="format">audio format</param>
            <param name="data">main audio data</param>
            <param name="dataPiece"></param>
            <param name="offsetSamples">offset list in samples</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Mix(System.String,System.String[])">
            <summary>
            Mix several audio files. The audio data formats must be the same.
            </summary>
            <param name="outFile">output file</param>
            <param name="inFiles">input file list</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Mix(System.IO.Stream,System.IO.Stream[])">
            <summary>
            Mix several audio streams. The audio data formats must be the same.
            </summary>
            <param name="outStream">output stream</param>
            <param name="inStreams">input stream list</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Mix(System.IntPtr,System.Byte[][])">
            <summary>
            Mixes the audio data.
            </summary>
            <param name="format">audio format</param>
            <param name="data">audio data array</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Milliseconds2Bytes(System.IntPtr,System.Int32)">
            <summary>
            Returns bytes number for specified format and time, expressed in milliseconds
            </summary>
            <param name="format">audio format</param>
            <param name="milliseconds">time, expressed in milliseconds</param>
            <returns>bytes number</returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Insert(System.IO.Stream,System.IO.Stream,System.Int32,System.Byte[])">
            <summary>
            Insert audio data to stream.
            </summary>
            <param name="inStream">input stream</param>
            <param name="outStream">output stream</param>
            <param name="fromSeconds">start position(in seconds)</param>
            <param name="insertData">audio data</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Insert(System.String,System.String,System.Int32,System.Byte[])">
            <summary>
            Insert audio data to file.
            </summary>
            <param name="inFile">input file</param>
            <param name="outFile">output file</param>
            <param name="fromSeconds">start position(in seconds)</param>
            <param name="insertData">audio data</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Remove(System.IO.Stream,System.IO.Stream,System.Int32,System.Int32)">
             <summary>
             Remove part audio data from stream.
             </summary>
             <param name="inStream">input stream</param>
             <param name="outStream">output stream</param>
             <param name="fromSeconds">start position(in seconds)</param>
             <param name="duration">duration (in seconds)</param>
             <example> This example shows simple using of Remove method.
             <code>
            string inFile = "in.wav"; 
            string outFile = "out.wav"; 
            int fromSeconds = 0;
            int duration = 1;
            AudioCompressionManager.Remove(File.OpenRead(inFile), File.Create(outFile), fromSeconds, duration);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Remove(System.String,System.String,System.Int32,System.Int32)">
             <summary>
             Remove part audio data from file.
             </summary>
             <param name="inFile">input file</param>
             <param name="outFile">output file</param>
             <param name="fromSeconds">start position(in seconds)</param>
             <param name="duration">duration (in seconds)</param>
             <example> This example shows simple using of Remove method.
             <code>
            string inFile = "in.wav"; 
            string outFile = "out.wav"; 
            int fromSeconds = 0;
            int duration = 1;
            AudioCompressionManager.Remove(inFile, outFile, fromSeconds, duration);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Join(System.String,System.String[])">
            <summary>
            Join multiple audio files into one. The audio data formats must be the same.
            </summary>
            <param name="outFile">output file</param>
            <param name="inFiles">input file list</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Join(System.IO.Stream,System.IO.Stream[])">
            <summary>
            Join multiple audio streams into one. The audio data formats must be the same.
            </summary>
            <param name="outStream">output stream</param>
            <param name="inStreams">input stream list</param>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.CreateFormat(System.Byte[])">
             <summary>
             Create audio format from the byte array.
             </summary>
             <param name="arr">byte array</param>
             <returns>audio format</returns>
             <example> This example shows simple using of CreateFormat method.
             <code>
            IntPtr format = AudioCompressionManager.CreateFormat(AudioCompressionManager.FormatBytes(AudioCompressionManager.GetPcmFormat(2, 16, 8000)));
            FormatDetails fd = AudioCompressionManager.GetFormatDetails(format, true);
            Console.WriteLine(fd.ToString());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.FormatBytes(System.IntPtr)">
             <summary>
             Returns audio format byte array.
             </summary>
             <param name="format"></param>
             <returns></returns>
             <example> This example shows simple using of FormatBytes method.
             <code>
            WaveWriter ww = new WaveWriter(File.Create("out.wav"), 
                AudioCompressionManager.FormatBytes(AudioCompressionManager.GetPcmFormat(2, 16, 8000)));
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatTagList">
             <summary>
             Gets the format tag list for suitable driver.
             </summary>
             <returns></returns>
             <example> This example shows simple using of GetFormatTagList method.
             <code>
            FormatTagDetails ftd = AudioCompressionManager.GetFormatTagDetails(AudioCompressionManager.PcmFormatTag);
            Console.WriteLine(ftd.FormatTagName);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatTagList(System.Int32)">
            <summary>
            Gets the format tag list for specified driver.
            </summary>
            <param name="driver">The driver.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatList(System.Int32)">
             <summary>
             Gets the format list for specified format tag and suitable driver.
             </summary>
             <param name="formatTag">The format tag.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatList method.
             <code>
            FormatDetails[] fdArr = AudioCompressionManager.GetFormatList(AudioCompressionManager.ImaAdpcmFormatTag);
            foreach (FormatDetails fd in fdArr)
            {
                Console.WriteLine(fd.ToString());
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatList(System.Int32,System.Int32)">
             <summary>
             Gets the format list for specified format tag and driver.
             </summary>
             <param name="formatTag">The format tag.</param>
             <param name="driver">The driver id.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatList method for specified driver.
             <code>
            private void GetDriver()
            {
                foreach (DriverDetails dd in AudioCompressionManager.GetDriverList())
                {
                    if (dd.LongName.Contains("{insert text here}"))
                    {
                        int driverId = dd.Driver;
                        FormatDetails[] fd = AudioCompressionManager.GetFormatList(AudioCompressionManager.MpegLayer3FormatTag, driverId);
                        break;
                    }
                };
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatList(System.Int32,System.Boolean)">
             <summary>
             Gets the format list for specified format tag and suitable driver.
             </summary>
             <param name="formatTag">The format tag.</param>
             <param name="showFormatTag">Shows format tag name as result of ToString()method.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatList method.
             <code>
            FormatDetails[] fdArr = AudioCompressionManager.GetFormatList(AudioCompressionManager.AdpcmFormatTag, true);
            foreach (FormatDetails fd in fdArr)
            {
                Console.WriteLine(fd.ToString());
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatList(System.Int32,System.Int32,System.Boolean)">
             <summary>
             Gets the format list for specified format tag and driver.
             </summary>
             <param name="formatTag">The format tag.</param>
             <param name="driver">The driver id.</param>
             <param name="showFormatTag">Shows format tag name as result of ToString()method.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatList method for specified driver.
             <code>
            private void GetDriver()
            {
                foreach (DriverDetails dd in AudioCompressionManager.GetDriverList())
                {
                    if (dd.LongName.Contains("{insert text here}"))
                    {
                        int driverId = dd.Driver;
                        FormatDetails[] fd = AudioCompressionManager.GetFormatList(AudioCompressionManager.MpegLayer3FormatTag, driverId, true);
                        break;
                    }
                };
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetDriverList">
             <summary>
             Gets the driver list.
             </summary>
             <returns></returns>
             <example> This example shows simple using of GetDriverList method.
             <code>
            DriverDetails[] driverList = AudioCompressionManager.GetDriverList();
            
            foreach (DriverDetails driverDetails in driverList)
            {
                Console.WriteLine("Driver: {0}, Version: {1}, LongName: {2}", driverDetails.Driver, driverDetails.DriverVersion, driverDetails.LongName);
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetDriverDetails(System.Int32)">
            <summary>
            Gets the driver details for specified driver.
            </summary>
            <param name="driver">The driver.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatDetails(System.IntPtr)">
             <summary>
             Gets the format details for specified format.
             </summary>
             <param name="format">The format.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatDetails method.
             <code>
            IntPtr format = AudioCompressionManager.GetPcmFormat(2, 16, 24000);
            FormatDetails fd = AudioCompressionManager.GetFormatDetails(format);
            Console.WriteLine(fd.ToString());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatDetails(System.IntPtr,System.Boolean)">
             <summary>
             Gets the format details for specified format.
             </summary>
             <param name="format">The format.</param>
             <param name="showFormatTag">Shows format tag name as result of ToString()method.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatDetails method.
             <code>
            IntPtr format = AudioCompressionManager.GetPcmFormat(2, 16, 24000);
            FormatDetails fd = AudioCompressionManager.GetFormatDetails(format, true);
            Console.WriteLine(fd.ToString());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatTagDetails(System.Int32)">
             <summary>
             Gets the format tag details for specified format tag and suitable driver.
             </summary>
             <param name="formatTag">The format tag.</param>
             <returns></returns>
             <example> This example shows simple using of GetFormatTagDetails method.
             <code>
            FormatTagDetails ftd = AudioCompressionManager.GetFormatTagDetails(AudioCompressionManager.PcmFormatTag);
            Console.WriteLine(ftd.FormatTagName);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetFormatTagDetails(System.Int32,System.Int32)">
            <summary>
            Gets the format tag details for specified format tag and driver.
            </summary>
            <param name="formatTag">The format tag.</param>
            <param name="driver">The driver.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormatList(System.IntPtr)">
             <summary>
             Gets the format list for the conversion from the specified format.
             </summary>
             <param name="format">The format handle.</param>
             <returns></returns>
             <example> This example shows simple using of GetCompatibleFormatList method.
             <code>
            IntPtr formaGsm = AudioCompressionManager.GetCompatibleFormat(AudioCompressionManager.GetPcmFormat(1, 16, 16000),
                            AudioCompressionManager.Gsm610FormatTag);
            FormatDetails fd = AudioCompressionManager.GetFormatDetails(formaGsm);
            Console.WriteLine(fd.ToString());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.GetCompatibleFormatList(System.IntPtr,System.Boolean)">
             <summary>
             Gets the format list for the conversion from the specified format.
             </summary>
             <param name="format">The format handle.</param>
             <param name="showFormatTag">Shows format tag name as result of ToString()method.</param>
             <returns></returns>
             <example> This example shows simple using of GetCompatibleFormatList method.
             <code>
            IntPtr formaGsm = AudioCompressionManager.GetCompatibleFormat(AudioCompressionManager.GetPcmFormat(1, 16, 16000),
                            AudioCompressionManager.Gsm610FormatTag);
            FormatDetails fd = AudioCompressionManager.GetFormatDetails(formaGsm, true);
            Console.WriteLine(fd.ToString());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Wave2Mp3(System.String,System.String)">
             <summary>
             Converts Wave file to Mp3 file.
             </summary>
             <param name="waveFile">input Wave file</param>
             <param name="mp3File">output Mp3 file</param>
             <example> This example shows simple using of Wave2Mp3 method.
             <code>
            string inFile = "test2.wav";
            string outFile = @"test2.mp3";
            
            AudioCompressionManager.Wave2Mp3(inFile, outFile);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Wave2Mp3(System.IO.Stream,System.IO.Stream)">
             <summary>
             Converts Wave stream to Mp3 stream.
             </summary>
             <param name="waveStream">input Wave stream</param>
             <param name="mp3Stream">output Mp3 stream</param>
             <example> This example shows simple using of Wave2Mp3 method.
             <code>
            string inFile = "test2.wav";
            string outFile = @"test2.mp3";
            
            AudioCompressionManager.Wave2Mp3(File.OpenRead(inFile), File.Create(outFile));
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ToFormat(Alvas.Audio.IAudioReader,System.IntPtr)">
            <summary>
            Converts audio data to the specified audio format.
            </summary>
            <param name="ar"></param>
            <param name="formatNew"></param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ToFormat(System.IntPtr,System.Byte[],System.IntPtr)">
            <summary>
            Converts audio data to the specified audio format.
            </summary>
            <param name="format">old audio format</param>
            <param name="data">audio data</param>
            <param name="formatNew">new audio format</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Mp3ToWav(System.String,System.String)">
             <summary>
             Converts Mp3 file to Wav file with PCM (Pulse-code modulation) data
             </summary>
             <param name="fileMp3">input Mp3 file</param>
             <param name="fileWave">output Wave file</param>
             <example> This example shows simple using of Mp3ToWav method.
             <code>
            AudioCompressionManager.Mp3ToWav("in.mp3", "out.wav");
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Wave2Mp3(System.IntPtr,System.Byte[])">
             <summary>
             Converts Wave audio data to Mp3 audio data.
             </summary>
             <param name="format">audio format</param>
             <param name="data">audio data</param>
             <returns></returns>
             <example> This example shows simple using of Wave2Mp3 method.
             <code>
            string inFile = "test2.wav";
            string outFile = @"test2.mp3";
            
            WaveReader wr = new WaveReader(File.OpenRead(inFile));
            IntPtr format = wr.ReadFormat();
            byte[] data = wr.ReadData();
            wr.Close();
            byte[] dataMp3 = AudioCompressionManager.Wave2Mp3(format, data);
            Mp3Writer mw = new Mp3Writer(File.Create(outFile));
            mw.WriteData(dataMp3);
            mw.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Fade(System.IntPtr,System.Byte[],System.Boolean)">
             <summary>
             Creates fade in/out effect
             </summary>
             <param name="format">input audio format</param>
             <param name="data">input audio data</param>
             <param name="isIn"><c>true</c> for fade in; otherwise, fade out.</param>
             <returns>audio data with fade in/out effect</returns>
             <example> This example shows simple using of Fade method.
             <code>
            WaveReader wr = new WaveReader(File.OpenRead("in.wav"));
            IntPtr format = wr.ReadFormat();
            byte[] data1 = wr.ReadData(0, 1);
            byte[] data2 = wr.ReadData(1, 1);
            byte[] data3 = wr.ReadData(2, 1);
            wr.Close();
            byte[] data11 = AudioCompressionManager.Fade(format, data1, true);
            byte[] data33 = AudioCompressionManager.Fade(format, data3, false);
            WaveWriter ww = new WaveWriter(File.Create("out.wav"), AudioCompressionManager.FormatBytes(format));
            ww.WriteData(data11);
            ww.WriteData(data2);
            ww.WriteData(data33);
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.ToPcm16Bit(System.IntPtr,System.Byte[],System.IntPtr@,System.Byte[]@)">
             <summary>
             Helper for decoding audio data in PCM (Pulse-code modulation) 16 bit.
             </summary>
             <param name="format">input audio format</param>
             <param name="data">input audio data</param>
             <param name="formatPcm16Bit">output audio format</param>
             <param name="dataPcm16Bit">output audio data</param>
             <example> This example shows simple using of ToPcm16Bit method.
             <code>
            string fileName = @"in.wav";
            WaveReader wr = new WaveReader(File.OpenRead(fileName));
            IntPtr formatWav = wr.ReadFormat();
            byte[] data = wr.ReadData();
            wr.Close();
            IntPtr formatPcm = IntPtr.Zero;
            byte[] dataPcm = null;
            AudioCompressionManager.ToPcm(formatWav, data, ref formatPcm, ref dataPcm);
            WaveWriter ww = new WaveWriter(File.Create(fileName + ".wav"), AudioCompressionManager.FormatBytes(formatPcm));
            ww.WriteData(dataPcm);
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Silence(System.IntPtr,System.Int32)">
             <summary>
             Creates silence
             </summary>
             <param name="format">audio format</param>
             <param name="milliseconds">silence in milliseconds</param>
             <returns>audio data with silence</returns>
             <example> This example shows simple using of Silence method.
             <code>
            FormatDetails[] formatList = AudioCompressionManager.GetFormatList(AudioCompressionManager.Gsm610FormatTag);
            IntPtr format = formatList[formatList.Length - 1].FormatHandle;
            WaveWriter ww = new WaveWriter(File.Create("file.wav"), AudioCompressionManager.FormatBytes(format));
            byte[] data = AudioCompressionManager.Silence(format, 10000);
            ww.WriteData(data);
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Reverse(System.String,System.String)">
             <summary>
             Reverses Wave audio data from one file to another.
             </summary>
             <param name="inFile">input Wave file</param>
             <param name="outFile">output Wave file</param>
             <example> This example shows simple using of Reverse method.
             <code>
            string inFile = "test2.wav";
            string outFile = "ReverseTest3.wav";
            
            AudioCompressionManager.Reverse(inFile, outFile);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Reverse(System.IO.Stream,System.IO.Stream)">
             <summary>
             Reverses Wave audio data from one stream to another.
             </summary>
             <param name="inStream">input Wave stream</param>
             <param name="outStream">output Wave stream</param>
             <example> This example shows simple using of Reverse method.
             <code>
            string inFile = "test2.wav";
            string outFile = "ReverseTest3.wav";
            
            AudioCompressionManager.Reverse(File.OpenRead(inFile), File.Create(outFile));
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.Reverse(System.IntPtr,System.Byte[])">
             <summary>
             Reverses Wave audio data.
             </summary>
             <param name="format">audio format</param>
             <param name="data">audio data</param>
             <returns></returns>
             <example> This example shows simple using of Reverse method.
             <code>
            string inFile = "test2.wav";
            string outFile = "ReverseTest3.wav";
            
            WaveReader wr = new WaveReader(File.OpenRead(inFile));
            IntPtr format = wr.ReadFormat();
            byte[] data = wr.ReadData();
            wr.Close();
            WaveWriter ww = new WaveWriter(File.Create(outFile), AudioCompressionManager.FormatBytes(format));
            ww.WriteData(AudioCompressionManager.Reverse(format, data));
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.SplitStereo(System.String,System.String,System.String)">
             <summary>
             Splits one stereo file into two mono files (left and right channels).
             </summary>
             <param name="stereoFile">input stereo Wave file</param>
             <param name="leftFile">output mono Wave file for left channel</param>
             <param name="rightFile">output mono Wave file for right channel</param>
             <example> This example shows simple using of SplitStereo method.
             <code>
            string inFile = "stereo.wav";
            string leftFile = "left.wav";
            string rightFile = "right.wav";
            AudioCompressionManager.SplitStereo(inFile, leftFile, rightFile);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.SplitStereo(System.IO.Stream,System.IO.Stream,System.IO.Stream)">
             <summary>
             Splits one stereo stream into two mono streams (left and right channels).
             </summary>
             <param name="stereoStream">input stereo Wave stream</param>
             <param name="leftStream">output mono Wave stream for left channel</param>
             <param name="rightStream">output mono Wave stream for right channel</param>
             <example> This example shows simple using of SplitStereo method.
             <code>
            string inFile = "stereo.wav";
            string leftFile = "left.wav";
            string rightFile = "right.wav";
            AudioCompressionManager.SplitStereo(File.OpenRead(inFile), 
                File.Create(leftFile), File.Create(rightFile));
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AudioCompressionManager.SplitStereo(System.IntPtr,System.Byte[],System.IntPtr@,System.Byte[]@,System.Byte[]@)">
             <summary>
             Splits stereo audio data array into two mono data arrays (left and right channels).
             </summary>
             <param name="formatStereo">input stereo audio format</param>
             <param name="dataStereo">input stereo audio data</param>
             <param name="formatMono">output mono audio format</param>
             <param name="leftData">output mono audio data for left channel</param>
             <param name="rightData">output mono audio data for right channel</param>
             <example> This example shows simple using of SplitStereo method.
             <code>
            string inFile = "stereo.wav";
            string leftFile = "left.wav";
            string rightFile = "right.wav";
            WaveReader wr = new WaveReader(File.OpenRead(inFile));
            IntPtr formatStereo = wr.ReadFormat();
            byte[] dataStereo = wr.ReadData();
            wr.Close();
            IntPtr formatMono = IntPtr.Zero;
            byte[] leftData = null;
            byte[] rightData = null;
            AudioCompressionManager.SplitStereo(formatStereo, dataStereo, ref formatMono, ref leftData, ref rightData);
            byte[] headerMono = AudioCompressionManager.FormatBytes(formatMono);
            WaveWriter wwLeft = new WaveWriter(File.Create(leftFile), headerMono);
            wwLeft.WriteData(leftData);
            wwLeft.Close();
            WaveWriter wwRight = new WaveWriter(File.Create(rightFile), headerMono);
            wwRight.WriteData(rightData);
            wwRight.Close();
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.RawReadWriter">
            <summary>
            Reads/writes an audio data from/to the headerless stream. Slinear, Gsm, A-law, mu-law etc.
            </summary>
        </member>
        <member name="T:Alvas.Audio.RawReader">
             <summary>
             Reads an audio data from the headerless stream. Slinear, Gsm, A-law, mu-law etc.
             </summary>
             <example> This example shows simple using of RawReader.
             <code>
            WaveFormat wfAlaw = new WaveFormat();
            wfAlaw.wFormatTag = AudioCompressionManager.ALawFormatTag;
            wfAlaw.nChannels = 1;
            wfAlaw.nSamplesPerSec = 8000;
            FormatDetails[] fdArr = AudioCompressionManager.GetFormatList(wfAlaw);
            RawReader rr = new RawReader(File.OpenRead("123.alaw"), 
                fdArr[0].FormatHandle);
            IntPtr format = rr.ReadFormat();
            byte[] data = rr.ReadData();
            rr.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.RawReader.#ctor(System.IO.Stream,System.IntPtr)">
            <summary>
            Initializes a new instance of the RawReader class for the specified stream.
            </summary>
            <param name="input">The stream to be read.</param>
            <param name="format">Audio format</param>
        </member>
        <member name="M:Alvas.Audio.RawReader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.RawReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="T:Alvas.Audio.IAudioReadWriter">
            <summary>
            IAudioReadWriter interface provides methods for reading/writing audio data.
            </summary>
        </member>
        <member name="M:Alvas.Audio.RawReadWriter.#ctor(System.IO.Stream,System.IntPtr)">
            <summary>
            Initializes a new instance of the RawReadWriter class based on the supplied stream and a specific audio format.
            </summary>
            <param name="input">The supplied stream.</param>
            <param name="format">The audio format.</param>
        </member>
        <member name="M:Alvas.Audio.RawReadWriter.Close">
            <summary>
            Closes the current reader and writer and the underlying stream. 
            </summary>
        </member>
        <member name="M:Alvas.Audio.RawReadWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.RawReadWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="T:Alvas.Audio.MixerIntControl">
            <summary>
            Mixer integer control
            </summary>
        </member>
        <member name="P:Alvas.Audio.MixerIntControl.Minimum">
            <summary>
            Gets the minimum value of the control.
            </summary>
            <value>The minimum.</value>
        </member>
        <member name="P:Alvas.Audio.MixerIntControl.Maximum">
            <summary>
            Gets the maximum value of the control.
            </summary>
            <value>The maximum.</value>
        </member>
        <member name="P:Alvas.Audio.MixerIntControl.Steps">
            <summary>
            Gets the steps.
            </summary>
            <value>The steps.</value>
        </member>
        <member name="P:Alvas.Audio.MixerIntControl.Values">
            <summary>
            Gets or sets the control values.
            </summary>
        </member>
        <member name="T:Alvas.Audio.RawWriter">
             <summary>
             Writes an audio data to the headerless stream. Slinear, Gsm, A-law, mu-law etc.
             </summary>
             <example> This example shows simple using of RawWriter class.
             <code>
            RawWriter rw = new RawWriter(File.Create("out.pcm"));
            rw.WriteData(new byte[16000]);
            rw.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.RawWriter.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Alvas.Audio.RawWriter"></see> class based on the supplied stream.
            </summary>
            <param name="output">The supplied stream.</param>
        </member>
        <member name="M:Alvas.Audio.RawWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.RawWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="T:Alvas.Audio.MixerWindow">
            <summary>
            Mixer Window.
            </summary>
        </member>
        <member name="T:Alvas.Audio.FormatTagDetails">
            <summary>
            The FormatTagDetails structure details a waveform-audio format tag for an ACM driver.
            </summary>
        </member>
        <member name="M:Alvas.Audio.FormatTagDetails.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.FormatTagIndex">
            <summary>
            Index of the format tag for which details will be retrieved. The index ranges from zero to one less than the number of format tags supported by an ACM driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.FormatTag">
            <summary>
            Waveform-audio format tag that the FormatTagDetails structure describes.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.FormatSize">
            <summary>
            Largest total size in bytes of the waveform-audio format of the FormatTag type. For example, this member will be 16 for PCM and 50 for ADPCM.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.Support">
            <summary>
            Driver-support flags specific to the format tag.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.StandardFormats">
            <summary>
            Number of standard formats of the FormatTag type; that is, the combination of all sample rates, bits per sample, channels, and so on. This value can specify all formats supported by the driver, but not necessarily.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.FormatTagName">
            <summary>
            String that describes the FormatTag type.
            </summary>
        </member>
        <member name="F:Alvas.Audio.FormatTagDetails.Driver">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.RecordPlayer">
             <summary>
             Class for recording and playback
             </summary>
             <example> This example shows simple using of RecordPlayer class.
             <code>
            public static void TestRecordPlayer()
            {
                RecordPlayer rp = new RecordPlayer();
                rp.PropertyChanged += new PropertyChangedEventHandler(rp_PropertyChanged);
                rp.Open(new Mp3Reader(File.OpenRead("in.mp3")));
                rp.Play();
            }
            
            static void rp_PropertyChanged(object sender, PropertyChangedEventArgs e)
            {
                switch (e.PropertyName)
                {
                    case RecordPlayer.StateProperty:
                        RecordPlayer rp = ((RecordPlayer)sender);
                        if (rp.State == DeviceState.Stopped)
                        {
                            rp.Close();
                        }
                        break;
                }
            }
             </code>
             </example>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.VolumeScaleProperty">
            <summary>
            VolumeScale property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.StateProperty">
            <summary>
            State property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.VolumeLevelProperty">
            <summary>
            VolumeLevel property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.PositionProperty">
            <summary>
            Position property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.DurationProperty">
            <summary>
            Duration property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.RecorderLinesProperty">
            <summary>
            RecorderLines property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.RecorderLinesIndexProperty">
            <summary>
            RecorderLinesIndex property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.RecorderVolumeProperty">
            <summary>
            RecorderVolume property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.PlayerVolumeMuteProperty">
            <summary>
            PlayerVolumeMute property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.PlayerVolumeProperty">
            <summary>
            PlayerVolume property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.BufferSizeInMSProperty">
            <summary>
            BufferSizeInMS property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.SilentLevelProperty">
            <summary>
            SilentLevel property name
            </summary>
        </member>
        <member name="F:Alvas.Audio.RecordPlayer.SkipSilentProperty">
            <summary>
            SkipSilent property name
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Open(Alvas.Audio.IAudioReader)">
            <summary>
            Open existing audio file for recording and playback
            </summary>
            <param name="readWriter"></param>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Play">
            <summary>
            Plays audio stream
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Record">
            <summary>
            Records audio stream
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Record(System.Int32)">
            <summary>
            Records audio stream from specified position in milliseconds.
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Pause">
            <summary>
            Pauses recording or playback
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Stop">
            <summary>
            Stops recording or playback
            </summary>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Play(System.Int32)">
            <summary>
            Plays audio stream from stated position
            </summary>
            <param name="positionInMS">position in milliseconds</param>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Forward(System.Int32)">
            <summary>
            Forwards current stream position
            </summary>
            <param name="ms"></param>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Backward(System.Int32)">
            <summary>
            Backwards current stream position
            </summary>
            <param name="ms"></param>
        </member>
        <member name="M:Alvas.Audio.RecordPlayer.Close">
            <summary>
            Closes audio stream
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.VolumeScale">
            <summary>
            Scales the volume of audio data. 100 is normal volume, 50 is reduced by half, 200 is increased in 2 times
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.SilentLevel">
            <summary>
            Sets and gets sound level, which will be silence
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.SkipSilent">
            <summary>
            Skip silence during recording
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.RecorderVolume">
            <summary>
            Sets and gets recording volume
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.CanRecord">
            <summary>
            Indicates whether the stream can be recorded.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.PlayerVolume">
            <summary>
            Sets and gets playback volume
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.PlayerVolumeMute">
            <summary>
            Sets and gets playback mute
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.RecorderLines">
            <summary>
            Gets recorder lines
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.RecorderLinesIndex">
            <summary>
            Gets and sets selected recorder lines index
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.PlayerID">
            <summary>
            Gets or sets the current player. If -1 the system uses suitable player.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.RecorderID">
            <summary>
            Gets or sets the current recorder. If -1 the system uses suitable recorder. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.BufferSizeInMS">
            <summary>
            Gets or sets the audio buffer size in milliseconds. By default 500 ms.
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.VolumeDataLength">
            <summary>
            Length of volume audio data array
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.VolumeData">
             <summary>
             Volume audio data array for current audio operation.
             </summary>
             <example> This example shows simple using of VolumeData property.
             <code>
            private void Init()
            {
                slm = new SoundLevelMeter();
                slm.Dock = DockStyle.Fill;
                this.Controls.Add(slm);
                IntPtr pcmFormat = AudioCompressionManager.GetPcmFormat(2, 16, 44100);
                rp.VolumeDataLength = slm.ClientSize.Width;
                rp.PropertyChanged += new PropertyChangedEventHandler(rp_PropertyChanged);
                rp.Open(new WaveReadWriter(new MemoryStream(), AudioCompressionManager.FormatBytes(pcmFormat)));
                rp.Record();
            }
            
            SoundLevelMeter slm;
            RecordPlayer rp = new RecordPlayer();
            
            void rp_PropertyChanged(object sender, PropertyChangedEventArgs e)
            {
                if (e.PropertyName == RecordPlayer.VolumeLevelProperty)
                {
                    slm.Data = rp.VolumeData;
                };
            }
             </code>
             </example>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.State">
            <summary>
            Current device state
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.FormatDetails">
            <summary>
            Gets format details for current audio stream
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.Duration">
            <summary>
            Returns audio stream duration in ms
            </summary>
            <returns></returns>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.VolumeLevel">
            <summary>
            Volume level for current audio operation
            </summary>
        </member>
        <member name="P:Alvas.Audio.RecordPlayer.Position">
            <summary>
            Gets current position for audio stream
            </summary>
        </member>
        <member name="E:Alvas.Audio.RecordPlayer.PropertyChanged">
            <summary>
            Occurs when a property changes values. 
            </summary>
        </member>
        <member name="T:Alvas.Audio.SoundLevelMeter">
             <summary>
             Sound level meter is a component that allows audio signal level to be viewed.
             The sound level meter draws a horizontal line across the middle of the screen from left to right. If the input sound level departs from zero, the line is deflected either upwards or downwards.
             </summary>
             <example> This example shows simple using of SoundLevelMeter class.
             <code>
            SoundLevelMeter vum = new SoundLevelMeter();
            WaveReader wr = new WaveReader(File.OpenRead("in.wav"));
            IntPtr format = wr.ReadFormat();
            byte[] data = wr.ReadData();
            wr.Close();
            short[] buffer = AudioCompressionManager.RecalculateData(format, data, vum.ClientRectangle.Width);
            vum.Data = buffer;
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.SoundLevelMeter.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.SoundLevelMeter.OnPaint(System.Windows.Forms.PaintEventArgs)">
            <summary>
            
            </summary>
            <param name="pe"></param>
        </member>
        <member name="P:Alvas.Audio.SoundLevelMeter.OwnerDraw">
            <summary>
            Gets or sets a value indicating whether the control is drawn by itself or by the code that you provide. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.SoundLevelMeter.Data">
            <summary>
            Audio data array for the SoundLevelMeter.
            </summary>
        </member>
        <member name="P:Alvas.Audio.SoundLevelMeter.BorderStyle">
            <summary>
            Gets or sets the border style for the control.
            </summary>
        </member>
        <member name="P:Alvas.Audio.SoundLevelMeter.CreateParams">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.Player">
             <summary>
             Player is a component for audio files playing.
             </summary>
             <example> This example shows how simple use Player.
             <code>
            player.FileName = "123.mp3";
            player.Play();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Player.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.Player.Pause">
            <summary>
            To pause playing.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.Play(System.Byte[])">
             <summary>
             Plays Wave file data from array
             </summary>
             <param name="waveData">Wave file data</param>
             <returns></returns>
             <example> This example shows simple using of Play method.
             <code>
            Player pl = new Player();
            byte[] arr = File.ReadAllBytes(@"in.wav");
            pl.Play(arr);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Player.Play">
            <summary>
            Plays sound.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.Stop">
            <summary>
            To stop playing.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.Close">
            <summary>
            To close playing.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.Resume">
            <summary>
            Resumes playing that has been paused.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.ChangePosition(System.Int32)">
            <summary>
            Changes the current position in milliseconds.
            </summary>
            <param name="mS"></param>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.CloseAudioDevices">
            <summary>
            Closes all audio devices.
            </summary>
            <returns>Returns 0 if successful or error number otherwise. Use GetErrorString static function to describe error number.</returns>
        </member>
        <member name="M:Alvas.Audio.Player.GetErrorString(System.Int32)">
            <summary>
            Returns string that describes the specified error code. 
            </summary>
            <param name="err">Error code number</param>
            <returns></returns>
        </member>
        <member name="P:Alvas.Audio.Player.FileName">
            <summary>
            Gets or sets file name for playing.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.DeviceName">
            <summary>
            Gets the current device name being used to play.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.Speed">
            <summary>
            Gets or Sets the current speed of the device in frames per second.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.Volume">
            <summary>
            Gets or sets the average volume to the left and right speaker.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.LeftVolume">
            <summary>
            Gets or sets the average volume to the left speaker.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.RightVolume">
            <summary>
            Gets or sets the average volume to the right speaker.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.PositionInMS">
            <summary>
            Gets the current position in milliseconds.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.IsPlaying">
            <summary>
            Returns true if playing or false otherwise.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.Status">
            <summary>
            Gets current device status.
            </summary>
        </member>
        <member name="P:Alvas.Audio.Player.DurationInMS">
            <summary>
            Gets audio file duration in milliseconds.
            </summary>
        </member>
        <member name="T:Alvas.Audio.Mp3ReadWriter">
            <summary>
            Reads/writes audio data from/to the Mp3 stream.
            </summary>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.#ctor(System.IO.Stream,System.IntPtr)">
            <summary>
            Initializes a new instance of the Mp3ReadWriter class based on the supplied stream and a specific audio format.
            </summary>
            <param name="input">The supplied stream.</param>
            <param name="format">The audio format.</param>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.GetFormat">
            <summary>
            Returns pointer to audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.#ctor(System.IO.Stream)">
            <summary>
            
            </summary>
            <param name="input"></param>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.Close">
            <summary>
            Closes the current reader and writer and the underlying stream. 
            </summary>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="M:Alvas.Audio.Mp3ReadWriter.WriteID3v1Tag(Alvas.Audio.ID3v1)">
             <summary>
             Writes ID3 tag version 1
             </summary>
             <param name="tag"></param>
             <example> This example shows simple using of WriteID3v1Tag method.
             <code>
             //removes ID3v1 tags from audio stream 
            Mp3ReadWriter mrw1 = new Mp3ReadWriter(File.Open("in1.mp3", FileMode.Open, FileAccess.ReadWrite));
            mrw1.WriteID3v1Tag(null);
            mrw1.Close();
            
             //writes ID3v1 tags into audio stream 
            Mp3ReadWriter mrw2 = new Mp3ReadWriter(File.Open("in2.mp3", FileMode.Open, FileAccess.ReadWrite));
            ID3v1 tag = new ID3v1();
            tag.Comment = "Comment...";
            mrw2.WriteID3v1Tag(tag);
            mrw2.Close();
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.ControlChangeEventArgs">
            <summary>
            Provides data for <see cref="E:Alvas.Audio.Mixer.ControlChange">ControlChange</see> event.
            </summary>
        </member>
        <member name="M:Alvas.Audio.ControlChangeEventArgs.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Alvas.Audio.ControlChangeEventArgs"/> class.
            </summary>
            <param name="mixerID">The mixer ID.</param>
            <param name="controlID">The control ID.</param>
        </member>
        <member name="P:Alvas.Audio.ControlChangeEventArgs.MixerID">
            <summary>
            Gets Mixer ID
            </summary>
        </member>
        <member name="P:Alvas.Audio.ControlChangeEventArgs.ControlID">
            <summary>
            Gets Control ID
            </summary>
        </member>
        <member name="T:Alvas.Audio.DsReader">
             <summary>
             Reads audio data using DirectShow.
             </summary>
             <example> This example shows simple using of DsReader class.
             <code>
            DsReader dr = new DsReader("in.wma");
            if (dr.HasAudio)
            {
                IntPtr format = dr.ReadFormat();
                byte[] data = dr.ReadData();
            }
            dr.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.DsReader.Milliseconds2Bytes(System.Int32)">
            <summary>
            Converts from milliseconds to bytes for current stream.
            </summary>
            <param name="milliseconds">Time, expressed in milliseconds.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.#ctor(System.String)">
            <summary>
            Initializes a new instance of the DsReader class for the specified file. 
            </summary>
            <param name="fileName">file name</param>
        </member>
        <member name="M:Alvas.Audio.DsReader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.IAudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.Close">
            <summary>
            Closes the DsReader object and releases any system resources associated with the reader. 
            </summary>
        </member>
        <member name="M:Alvas.Audio.DsReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.DsReader.Dispose">
            <summary>
            Closes the DsReader object and releases any system resources associated with the reader. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.DsReader.HasAudio">
            <summary>
            Indicates whether the stream contains audio data.
            </summary>
        </member>
        <member name="T:Alvas.Audio.Mixer">
             <summary>
             Mixer component.
             </summary>
             <example> This example shows simple using of Mixer class.
             <code>
            public static void TestMixer()
            {
                PlayerEx plex = new PlayerEx();
                int playerMixerNo = plex.GetMixerNo();
                bool isMute = GetPlayerMute(playerMixerNo);
                SetPlayerMute(playerMixerNo, !isMute);
            
                RecorderEx rex = new RecorderEx();
                SetRecorderVolumeMax(rex.GetMixerNo());
            }
            
            private static void SetRecorderVolumeMax(int recorderMixerNo)
            {
                Mixer mx = new Mixer();
                mx.MixerNo = recorderMixerNo;
                DestinationLine dl = mx.GetDestination(Mixer.Recording);
                if (dl != null)
                {
                    foreach (MixerControl mc in dl.Controls)
                    {
                        if (mc is MixerIntControl)
                        {
                            MixerIntControl mic = mc as MixerIntControl;
                            mic.Value = mic.Maximum;
                            break;
                        }
                        else if (mc is MixerListControl)
                        {
                            MixerListControl mlc = dl.Controls[0] as MixerListControl;
                            MixerLine ml = mlc.Lines[mlc.Value];
                            foreach (MixerControl ctrl in ml.Controls)
                            {
                                if (ctrl is MixerIntControl)
                                {
                                    MixerIntControl mic = ctrl as MixerIntControl;
                                    mic.Value = mic.Maximum;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            
            private static bool GetPlayerMute(int playerMixerNo)
            {
                Mixer mx = new Mixer();
                mx.MixerNo = playerMixerNo;
                DestinationLine dl = mx.GetDestination(Mixer.Playback);
                if (dl != null)
                {
                    foreach (MixerControl ctrl in dl.Controls)
                    {
                        if (ctrl is MixerMuteControl)
                        {
                            return ((MixerMuteControl)ctrl).Value != 0;
                        }
                    }
                }
                return false;
            }
            
            private static void SetPlayerMute(int playerMixerNo, bool value)
            {
                Mixer mx = new Mixer();
                mx.MixerNo = playerMixerNo;
                DestinationLine dl = mx.GetDestination(Mixer.Playback);
                if (dl != null)
                {
                    foreach (MixerControl ctrl in dl.Controls)
                    {
                        if (ctrl is MixerMuteControl)
                        {
                            ((MixerMuteControl)ctrl).Value = (value) ? 1 : 0;
                            break;
                        }
                    }
                }
            }
             </code>
             </example>
        </member>
        <member name="F:Alvas.Audio.Mixer.Playback">
            <summary>
            Playback line
            </summary>
        </member>
        <member name="F:Alvas.Audio.Mixer.Recording">
            <summary>
            Recording line
            </summary>
        </member>
        <member name="M:Alvas.Audio.Mixer.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Alvas.Audio.Mixer.GetMixerName(System.Int32)">
            <summary>
            Gets the name of the mixer by index.
            </summary>
            <param name="index">The index.</param>
            <returns></returns>
            <example> This example shows simple using of GetMixerName method.
            <code>
            for (int i = 0; i &lt; Mixer.MixerCount; i++)
            {
               Console.WriteLine(Mixer.GetMixerName(i));
            }
            </code>
            </example>
        </member>
        <member name="M:Alvas.Audio.Mixer.GetDestination(System.Int32)">
            <summary>
            Gets the destination line.
            </summary>
            <param name="lineType">Type of the line.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.Mixer.OnControlChange(System.Int32,System.Int32)">
            <summary>
            Called when control change.
            </summary>
            <param name="mixerID">The mixer ID.</param>
            <param name="controlID">The control ID.</param>
        </member>
        <member name="P:Alvas.Audio.Mixer.MixerCount">
            <summary>
            Gets mixer quantity.
            </summary>
            <value>The mixer quantity.</value>
        </member>
        <member name="P:Alvas.Audio.Mixer.MixerID">
            <summary>
            Gets the mixer ID.
            </summary>
            <value>The mixer ID.</value>
        </member>
        <member name="P:Alvas.Audio.Mixer.MixerNo">
            <summary>
            Gets or sets the current mixer number.
            </summary>
            <value>The mixer number.</value>
        </member>
        <member name="P:Alvas.Audio.Mixer.MixerName">
            <summary>
            Gets the name of the mixer.
            </summary>
            <value>The name of the mixer.</value>
        </member>
        <member name="E:Alvas.Audio.Mixer.ControlChange">
            <summary>
            ControlChange event
            </summary>
        </member>
        <member name="T:Alvas.Audio.Mixer.ControlChangeEventHandler">
            <summary>
            ControlChange event handler
            </summary>
        </member>
        <member name="T:Alvas.Audio.DeviceState">
            <summary>
            Specifies the audio device state.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DeviceState.Closed">
            <summary>
            The device is closed.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DeviceState.Opened">
            <summary>
            The device is opened.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DeviceState.Stopped">
            <summary>
            The device is stopped.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DeviceState.Paused">
            <summary>
            The device is paused.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DeviceState.InProgress">
            <summary>
            The device is being in progress.
            </summary>
        </member>
        <member name="T:Alvas.Audio.AviReader">
             <summary>
             Reads audio data from the Avi stream.
             </summary>
             <example> This example shows simple using of AviReader.
             <code>
            AviReader ar = new AviReader(File.OpenRead("123.avi"));
            if (ar.HasAudio)
            {
                IntPtr format = ar.ReadFormat();
                byte[] data = ar.ReadData();
            }
            ar.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.AviReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the AviReader class for the specified stream.
            </summary>
            <param name="input">The stream to be read.</param>
        </member>
        <member name="M:Alvas.Audio.AviReader.ReadFormat">
            <summary>
            Reads an audio format. Returns IntPtr.Zero if HasAudio property is false.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AviReader.Close">
            <summary>
            Closes the AviReader object and the underlying stream, and releases any system resources associated with the reader. 
            </summary>
        </member>
        <member name="P:Alvas.Audio.AviReader.HasAudio">
            <summary>
            Indicates whether the stream contains audio data.
            </summary>
        </member>
        <member name="T:Alvas.Audio.DriverDetails">
            <summary>
            The DriverDetails structure describes the features of an ACM driver.
            </summary>
        </member>
        <member name="M:Alvas.Audio.DriverDetails.ToString">
            <summary>
            
            </summary>
            <returns></returns>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Acm">
            <summary>
            Version of the ACM for which this driver was compiled. The version number is a hexadecimal number in the format 0xAABBCCCC, where AA is the major version number, BB is the minor version number, and CCCC is the build number. The version parts (major, minor, and build) should be displayed as decimal numbers.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.DriverVersion">
            <summary>
            Version of the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Support">
            <summary>
            Support flags for the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.FormatTags">
            <summary>
            Number of unique format tags supported by this driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.FilterTags">
            <summary>
            Number of unique filter tags supported by this driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Icon">
            <summary>
            Handle to a custom icon for this driver. This member can be 0.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.ShortName">
            <summary>
            String that describes the short name of the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.LongName">
            <summary>
            String that describes the full name of the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Copyright">
            <summary>
            String that provides copyright information for the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Licensing">
            <summary>
            String that provides special licensing information for the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Features">
            <summary>
            String that provides special feature information for the driver.
            </summary>
        </member>
        <member name="F:Alvas.Audio.DriverDetails.Driver">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.AviReaderException">
            <summary>
            The exception that is thrown when a avi reader error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.AviReaderException.#ctor(System.String)">
            <summary>
            
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Alvas.Audio.AviReaderException.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="P:Alvas.Audio.AviReaderException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.MixerListControl">
            <summary>
            Mixer list control
            </summary>
        </member>
        <member name="M:Alvas.Audio.MixerListControl.GetValue">
            <summary>
            Gets the control value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.MixerListControl.SetValue(System.Int32)">
            <summary>
            Sets the control value.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="P:Alvas.Audio.MixerListControl.Lines">
            <summary>
            Gets the mixer lines.
            </summary>
            <value>The mixer lines.</value>
        </member>
        <member name="T:Alvas.Audio.MixerBoolControl">
            <summary>
            Mixer boolean control
            </summary>
        </member>
        <member name="T:Alvas.Audio.AudioEffect">
            <summary>
            Base class for audio effects
            </summary>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateChorusAudioEffect">
            <summary>
            Creates Chorus audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateCompressorAudioEffect">
            <summary>
            Creates Compressor audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateDistortionAudioEffect">
            <summary>
            Creates Distortion audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateEchoAudioEffect">
            <summary>
            Creates Echo audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateFlangerAudioEffect">
            <summary>
            Creates Flanger audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateGargleAudioEffect">
            <summary>
            Creates Gargle audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateI3DL2ReverbAudioEffect">
            <summary>
            Creates I3DL2Reverb audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateParamEqAudioEffect">
            <summary>
            Creates ParamEq audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.CreateWavesReverbAudioEffect">
            <summary>
            Creates WavesReverb audio effect
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.AudioEffect.ProcessInPlace(System.IntPtr,System.Byte[])">
            <summary>
            Process in place audio data and put the resulting audio data into <paramref name="data">data</paramref> array 
            </summary>
            <param name="format">input audio format</param>
            <param name="data">input audio data</param>
            <returns>Returns true if successful</returns>
        </member>
        <member name="P:Alvas.Audio.AudioEffect.HasProcessInPlace">
            <summary>
            Checks can whether process in place
            </summary>
        </member>
        <member name="T:Alvas.Audio.WaveReaderException">
            <summary>
            The exception that is thrown when a wave reader error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveReaderException.#ctor(System.String)">
            <summary>
            
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Alvas.Audio.WaveReaderException.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveReaderException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.WaveReader">
             <summary>
             Reads WAVE (waveform audio format) data from the stream.
             </summary>
             <example> This example shows how simple use WaveReader.
             <code>
            WaveReader wr = new WaveReader(File.OpenRead("123.wav"));
            IntPtr format = wr.ReadFormat();
            byte[] data = wr.ReadData();
            wr.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.WaveReader.MakeMP3(System.IO.Stream)">
             <summary>
             Changes Wave stream to MP3 stream if Wave stream contains MPEG Layer 3 data.
             </summary>
             <param name="stream">stream with resulting mp3 header and data</param>
             <example> This example shows simple using of MakeMP3 method.
             <code>
            string wavFile = "in.wav";
            using (WaveReader wr = new WaveReader(File.OpenRead(wavFile)))
            {
                string mp3File = "out.mp3";
                using (FileStream fs = File.Create(mp3File))
                {
                    wr.MakeMP3(fs);
                }
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.WaveReader.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the WaveReader class for the specified stream. 
            </summary>
            <param name="input">The stream to be read.</param>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadFormat">
            <summary>
            Reads an audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.GetDurationInMS">
            <summary>
            Gets audio stream duration in milliseconds.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadData">
            <summary>
            Reads all audio data from the stream.
            </summary>
            <returns>audio data array</returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadData(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skips seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadData(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipSeconds">skip seconds</param>
            <param name="readSeconds">read seconds</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.GetLengthInBytes">
            <summary>
            Gets audio stream length in bytes.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadDataInBytes(System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadDataInBytes(System.Int32,System.Int32)">
            <summary>
            Reads audio data from the stream.
            </summary>
            <param name="skipBytes">Skips length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <param name="readBytes">Reads length of bytes. Use <see cref="M:Alvas.Audio.AudioReader.Milliseconds2Bytes(System.Int32)"></see> for this parameter.</param>
            <returns></returns>
        </member>
        <member name="M:Alvas.Audio.WaveReader.ReadInfoTag">
             <summary>
             Reads INFO metadata(similar mp3 tags) from Wave stream.
             </summary>
             <returns></returns>
             <example> This example shows simple using of ReadInfoTag method.
             <code>
            WaveReader br = new WaveReader(File.OpenRead(fileName));
            var dir = br.ReadInfoTag();
            br.Close();
            if (dir.Count > 0)
            {
                foreach (string val in dir.Values)
                {
                    Console.WriteLine(val);
                }
            }
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.WaveInException">
            <summary>
            The exception that is thrown when a WaveIn error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveInException.#ctor(System.Int32)">
            <summary>
            
            </summary>
            <param name="errorCode"></param>
        </member>
        <member name="P:Alvas.Audio.WaveInException.ErrorCode">
            <summary>
            Gets the error code associated with this exception.
            </summary>
        </member>
        <member name="P:Alvas.Audio.WaveInException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.TimeFormat">
            <summary>
            TimeFormat specifies the sound position in milliseconds, bytes or samples.
            </summary>
        </member>
        <member name="F:Alvas.Audio.TimeFormat.Milliseconds">
            <summary>
            Time in milliseconds
            </summary>
        </member>
        <member name="F:Alvas.Audio.TimeFormat.Samples">
            <summary>
            Number of wave samples
            </summary>
        </member>
        <member name="F:Alvas.Audio.TimeFormat.Bytes">
            <summary>
            Current byte offset
            </summary>
        </member>
        <member name="T:Alvas.Audio.Mp3ReaderException">
            <summary>
            The exception that is thrown when a mp3 reader error occurs.
            </summary>
        </member>
        <member name="M:Alvas.Audio.Mp3ReaderException.#ctor(System.String)">
            <summary>
            
            </summary>
            <param name="message"></param>
        </member>
        <member name="M:Alvas.Audio.Mp3ReaderException.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="P:Alvas.Audio.Mp3ReaderException.Message">
            <summary>
            
            </summary>
        </member>
        <member name="T:Alvas.Audio.ChorusAudioEffect">
            <summary>
            Chorus is a voice-doubling effect created by echoing the original sound with a slight delay and slightly modulating the delay of the echo.
            </summary>
        </member>
        <member name="T:Alvas.Audio.CompressorAudioEffect">
            <summary>
            Compression is a reduction in the fluctuation of a signal above a certain amplitude.
            </summary>
        </member>
        <member name="T:Alvas.Audio.DistortionAudioEffect">
            <summary>
            Distortion is achieved by adding harmonics to the signal in such a way that, as the level increases, the top of the waveform becomes squared off or clipped.
            </summary>
        </member>
        <member name="T:Alvas.Audio.EchoAudioEffect">
            <summary>
            An echo effect causes an entire sound to be repeated after a fixed delay.
            </summary>
        </member>
        <member name="T:Alvas.Audio.FlangerAudioEffect">
            <summary>
            Flange is an echo effect in which the delay between the original signal and its echo is very short and varies over time. The result is sometimes referred to as a sweeping sound. The term flange originated with the practice of grabbing the flanges of a tape reel to change the speed.
            </summary>
        </member>
        <member name="T:Alvas.Audio.GargleAudioEffect">
            <summary>
            The gargle effect modulates the amplitude of the signal.
            </summary>
        </member>
        <member name="T:Alvas.Audio.I3DL2ReverbAudioEffect">
            <summary>
            I3DL2Reverb audio effect
            </summary>
        </member>
        <member name="T:Alvas.Audio.ParamEqAudioEffect">
            <summary>
            A parametric equalizer amplifies or attenuates signals of a given frequency. 
            </summary>
        </member>
        <member name="T:Alvas.Audio.WavesReverbAudioEffect">
            <summary>
            The Waves reverberation effect is intended for use with music. 
            </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.AudioDecoder">
            <summary> DMOCATEGORY_AUDIO_DECODER </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.AudioEncoder">
            <summary> DMOCATEGORY_AUDIO_ENCODER </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.VideoDecoder">
            <summary> DMOCATEGORY_VIDEO_DECODER </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.VideoEncoder">
            <summary> DMOCATEGORY_VIDEO_ENCODER </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.AudioEffect">
            <summary> DMOCATEGORY_AUDIO_EFFECT </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.VideoEffect">
            <summary> DMOCATEGORY_VIDEO_EFFECT </summary>
        </member>
        <member name="F:Alvas.Audio.DmoCategory.AudioCaptureEffect">
            <summary> DMOCATEGORY_AUDIO_CAPTURE_EFFECT </summary>
        </member>
        <member name="T:Alvas.Audio.WaveWriter">
             <summary>
             Writes WAVE (waveform audio format) data to the stream.
             </summary>
             <example> This example shows how simple use WaveWriter.
             <code>
            string fileName = "123.wav";
            RecorderEx recEx = new RecorderEx();
            Stream stream = new FileStream(fileName, FileMode.Create);
            WaveWriter wr = new WaveWriter(stream, recEx.FormatBytes());
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.WaveWriter.#ctor(System.IO.Stream,System.Byte[])">
            <summary>
            Initializes a new instance of the WaveWriter class based on the supplied stream and a specific audio format header.
            </summary>
            <param name="output">The supplied stream.</param>
            <param name="formatHeader">The audio format header.</param>
        </member>
        <member name="M:Alvas.Audio.WaveWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.WaveWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="M:Alvas.Audio.WaveWriter.GetFormat">
            <summary>
            Returns pointer to audio format.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Alvas.Audio.WaveReadWriter">
            <summary>
            Reads/writes audio data from/to the Wave stream.
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveReadWriter.#ctor(System.IO.Stream,System.Byte[])">
            <summary>
            
            </summary>
            <param name="input"></param>
            <param name="formatHeader"></param>
        </member>
        <member name="M:Alvas.Audio.WaveReadWriter.#ctor(System.IO.Stream)">
            <summary>
            
            </summary>
            <param name="input"></param>
        </member>
        <member name="M:Alvas.Audio.WaveReadWriter.WriteData(System.Byte[])">
            <summary>
            Writes an audio byte array to the underlying stream. 
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
        </member>
        <member name="M:Alvas.Audio.WaveReadWriter.WriteData(System.Byte[],System.Int64)">
            <summary>
            Writes an audio byte array to the underlying stream from specified position.
            </summary>
            <param name="buffer">A byte array containing the data to write.</param>
            <param name="position">Data position in bytes</param>
            <returns>Returns new data position in bytes</returns>
        </member>
        <member name="M:Alvas.Audio.WaveReadWriter.Close">
            <summary>
            Closes the current reader, writer and the underlying stream.
            </summary>
        </member>
        <member name="M:Alvas.Audio.WaveReadWriter.WriteInfoTag(System.Collections.Generic.Dictionary{Alvas.Audio.WaveInfo,System.String})">
             <summary>
             Writes INFO metadata(similar mp3 tags) into Wave stream.
             </summary>
             <param name="tag"></param>
             <example> This example shows simple using of WriteInfoTag method.
             <code>
             //removes INFO tags from audio stream 
            WaveReadWriter wrw1 = new WaveReadWriter(File.Open("in1.wav", FileMode.Open, FileAccess.ReadWrite));
            wrw1.WriteInfoTag(null);
            wrw1.Close();
            
             //writes INFO tags into audio stream 
            WaveReadWriter wrw2 = new WaveReadWriter(File.Open("in2.wav", FileMode.Open, FileAccess.ReadWrite));
            var tag = new Dictionary&lt;WaveInfo, string&gt;();
            tag[WaveInfo.Comments] = "Comments...";
            wrw2.WriteInfoTag(tag);
            wrw2.Close();
             </code>
             </example>
        </member>
        <member name="T:Alvas.Audio.Vox">
            <summary>
            Class for encoding and decoding Dialogic .vox (adpcm) format data
            </summary>
        </member>
        <member name="M:Alvas.Audio.Vox.Raw2Vox(System.IO.BinaryReader,System.IO.BinaryWriter,System.Int16)">
             <summary>
             Encode raw PCM-data to Dialogic .vox (adpcm) format data
             </summary>
             <param name="br"></param>
             <param name="bw"></param>
             <param name="bitsPerSample"></param>
             <example> This example shows simple using of Raw2Vox method.
             <code>
            private static void Decode2Pcm(ref IntPtr format, ref byte[] data, ref WaveFormat wf)
            {
                IntPtr newFormat = AudioCompressionManager.GetCompatibleFormat(format, AudioCompressionManager.PcmFormatTag);
                byte[] buffer = AudioCompressionManager.Convert(format, newFormat, data, false);
                wf = AudioCompressionManager.GetWaveFormat(newFormat);
                format = newFormat;
                data = buffer;
            }
            
            public static void Raw2VoxTest()
            {
                string inFile = "in.wav";
                string outFile = "out.vox";
                WaveReader wr = new WaveReader(File.OpenRead(inFile));
                IntPtr format = wr.ReadFormat();
                byte[] data = wr.ReadData();
                wr.Close();
                WaveFormat wf = AudioCompressionManager.GetWaveFormat(format);
                if (wf.wFormatTag != AudioCompressionManager.PcmFormatTag)//Decode if not PCM data 
                {
                    Decode2Pcm(ref format, ref data, ref wf);
                }
                BinaryWriter bw = new BinaryWriter(File.OpenWrite(outFile));
                BinaryReader br = new BinaryReader(new MemoryStream(data));
                Vox.Raw2Vox(br, bw, wf.wBitsPerSample);
                br.Close();
                bw.Close();
            }
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Wav(System.IO.BinaryReader,Alvas.Audio.WaveWriter)">
             <summary>
             Decodes Dialogic .vox (adpcm) format data to wave PCM-data format
             </summary>
             <param name="br"></param>
             <param name="ww"></param>
             <example> This example shows simple using of Vox2Wav method.
             <code>
            string voxFile = "in.vox";
            int samplesPerSec = 8000;
            string wavFile = "out.wav";
            BinaryReader br = new BinaryReader(File.OpenRead(voxFile));
            IntPtr format = AudioCompressionManager.GetPcmFormat(1, 16, samplesPerSec);
            WaveWriter ww = new WaveWriter(File.Create(wavFile), AudioCompressionManager.FormatBytes(format));
            Vox.Vox2Wav(br, ww);
            br.Close();
            ww.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Wav(System.IO.BinaryReader,Alvas.Audio.WaveWriter,Alvas.Audio.Vox.AdpcmStatus@)">
            <summary>
            Decodes Dialogic .vox (adpcm) format data to wave PCM-data format
            </summary>
            <param name="br"></param>
            <param name="ww"></param>
            <param name="coder_stat">ref last coder status</param>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Mp3(System.String,System.String,System.Int32)">
             <summary>
             Converts Dialogic .vox (adpcm) file to Mp3 file.
             </summary>
             <param name="voxFile">input Vox file</param>
             <param name="mp3File">output Mp3 file</param>
             <param name="samplesPerSec">samples per second</param>
             <example> This example shows simple using of Vox2Mp3 method.
             <code>
            string voxFile = "in.vox";
            string mp3File = "out.mp3";
            int samplesPerSec = 8000;
            Vox.Vox2Mp3(voxFile, mp3File, samplesPerSec);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Mp3(System.IO.Stream,System.IO.Stream,System.Int32)">
             <summary>
             Converts Dialogic .vox (adpcm) stream to Mp3 stream.
             </summary>
             <param name="voxStream">input Vox stream</param>
             <param name="mp3Stream">output Mp3 stream</param>
             <param name="samplesPerSec">samples per second</param>
             <example> This example shows simple using of Vox2Mp3 method.
             <code>
            string voxFile = "in.vox";
            string mp3File = "out.mp3";
            int samplesPerSec = 8000;
            Vox.Vox2Mp3(File.OpenRead(voxFile), File.Create(mp3File), samplesPerSec);
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Mp3(System.IO.Stream,System.IO.Stream,System.Int32,Alvas.Audio.Vox.AdpcmStatus@)">
            <summary>
            Converts Dialogic .vox (adpcm) stream to Mp3 stream.
            </summary>
            <param name="voxStream">input Vox stream</param>
            <param name="mp3Stream">output Mp3 stream</param>
            <param name="samplesPerSec">samples per second</param>
            <param name="coder_stat">ref last coder status</param>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Mp3(System.IO.BinaryReader,System.IO.BinaryWriter,System.Int32)">
             <summary>
             Converts Dialogic .vox (adpcm) data to Mp3 audio data.
             </summary>
             <param name="br"></param>
             <param name="bw"></param>
             <param name="samplesPerSec"></param>
             <example> This example shows simple using of Vox2Mp3 method.
             <code>
            string voxFile = "in.vox";
            string mp3File = "out.mp3";
            int samplesPerSec = 8000;
            BinaryReader br = new BinaryReader(File.OpenRead(voxFile));
            Mp3Writer mw = new Mp3Writer(File.Create(mp3File));
            Vox.Vox2Mp3(br, mw, samplesPerSec);
            mw.Close();
            br.Close();
             </code>
             </example>
        </member>
        <member name="M:Alvas.Audio.Vox.Vox2Mp3(System.IO.BinaryReader,System.IO.BinaryWriter,System.Int32,Alvas.Audio.Vox.AdpcmStatus@)">
            <summary>
            Converts Dialogic .vox (adpcm) data to Mp3 audio data.
            </summary>
            <param name="br"></param>
            <param name="bw"></param>
            <param name="samplesPerSec"></param>
            <param name="coder_stat">ref last coder status</param>
        </member>
        <member name="T:Alvas.Audio.Vox.AdpcmStatus">
            <summary>
            Coder status strucrure
            </summary>
        </member>
        <member name="F:Alvas.Audio.Vox.AdpcmStatus.Last">
            <summary>
            Last
            </summary>
        </member>
        <member name="F:Alvas.Audio.Vox.AdpcmStatus.StepIndex">
            <summary>
            StepIndex
            </summary>
        </member>
        <member name="T:Alvas.Audio.MixerMuteControl">
            <summary>
            Mixer mute control
            </summary>
        </member>
        <member name="T:Alvas.Audio.ID3v1">
            <summary>
             Class represents a ID3 tag version 1.0 for MPEG Layer3 streams.
            </summary>
        </member>
        <member name="P:Alvas.Audio.ID3v1.Title">
            <summary>
            30 characters of the title
            </summary>
        </member>
        <member name="P:Alvas.Audio.ID3v1.Artist">
            <summary>
            30 characters of the artist name
            </summary>
        </member>
        <member name="P:Alvas.Audio.ID3v1.Album">
            <summary>
            30 characters of the album name
            </summary>
        </member>
        <member name="P:Alvas.Audio.ID3v1.Year">
            <summary>
            A four-digit year
            </summary>
        </member>
        <member name="P:Alvas.Audio.ID3v1.Comment">
            <summary>
            The comment. Up to 30 characters
            </summary>
        </member>
        <member name="P:Alvas.Audio.ID3v1.Genre">
            <summary>
            Genre. Use Genre.None if undefined.
            </summary>
        </member>
        <member name="T:Alvas.Audio.Genre">
            <summary>
            Genre list for ID3 tag version 1.0
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Blues">
            <summary>
            Blues
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.ClassicRock">
            <summary>
            Classic Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Country">
            <summary>
            Country
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Dance">
            <summary>
            Dance
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Disco">
            <summary>
            Disco
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Funk">
            <summary>
            Funk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Grunge">
            <summary>
            Grunge
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Hip_Hop">
            <summary>
            Hip-Hop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Jazz">
            <summary>
            Jazz
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Metal">
            <summary>
            Metal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.NewAge">
            <summary>
            New Age
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Oldies">
            <summary>
            Oldies
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.OtherGenre">
            <summary>
            Other Genre
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Pop">
            <summary>
            Pop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.RnB">
            <summary>
            R&amp;B
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Rap">
            <summary>
            Rap
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Reggae">
            <summary>
            Reggae
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Rock">
            <summary>
            Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Techno">
            <summary>
            Techno
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Industrial">
            <summary>
            Industrial
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Alternative">
            <summary>
            Alternative
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Ska">
            <summary>
            Ska
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.DeathMetal">
            <summary>
            Death Metal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Pranks">
            <summary>
            Pranks
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Soundtrack">
            <summary>
            Soundtrack
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Euro_Techno">
            <summary>
            Euro-Techno
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Ambient">
            <summary>
            Ambient
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Trip_Hop">
            <summary>
            Trip-Hop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Vocal">
            <summary>
            Vocal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.JazznFunk">
            <summary>
            Jazz&amp;Funk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Fusion">
            <summary>
            Fusion
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Trance">
            <summary>
            Trance
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Classical">
            <summary>
            Classical
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Instrumental">
            <summary>
            Instrumental
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Acid">
            <summary>
            Acid
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.House">
            <summary>
            House
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Game">
            <summary>
            Game
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.SoundClip">
            <summary>
            Sound Clip
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Gospel">
            <summary>
            Gospel
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Noise">
            <summary>
            Noise
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.AlternativRock">
            <summary>
            Alternativ Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Bass">
            <summary>
            Bass
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Soul">
            <summary>
            Soul
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Punk">
            <summary>
            Punk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Space">
            <summary>
            Space
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Meditative">
            <summary>
            Meditative
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.InstrumentalPop">
            <summary>
            Instrumental Pop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.InstrumentalRock">
            <summary>
            Instrumental Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Ethnic">
            <summary>
            Ethnic
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Gothic">
            <summary>
            Gothic
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Darkwave">
            <summary>
            Darkwave
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Techno_Industrial">
            <summary>
            Techno-Industrial
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Electronic">
            <summary>
            Electronic
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Pop_Folk">
            <summary>
            Pop-Folk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Eurodance">
            <summary>
            Eurodance
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Dream">
            <summary>
            Dream
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.SouthernRock">
            <summary>
            Southern Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Comedy">
            <summary>
            Comedy
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Cult">
            <summary>
            Cult
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Gangsta">
            <summary>
            Gangsta
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Top40">
            <summary>
            Top 40
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.ChristianRap">
            <summary>
            Christian Rap
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Pop_Funk">
            <summary>
            Pop/Funk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Jungle">
            <summary>
            Jungle
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.NativeUS">
            <summary>
            Native US
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Carbaret">
            <summary>
            Carbaret
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.NewWave">
            <summary>
            New Wave
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Psychedelic">
            <summary>
            Psychedelic
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Rave">
            <summary>
            Rave
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Showtunes">
            <summary>
            Showtunes
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Trailer">
            <summary>
            Trailer
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Lo_Fi">
            <summary>
            Lo-Fi
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Tribal">
            <summary>
            Tribal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.AcidPunk">
            <summary>
            Acid Punk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.AcidJazz">
            <summary>
            Acid Jazz
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Polka">
            <summary>
            Polka
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Retro">
            <summary>
            Retro
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Musical">
            <summary>
            Musical
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.RocknRoll">
            <summary>
            Rock &amp; Roll
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.HardRock">
            <summary>
            Hard Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Folk">
            <summary>
            Folk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Folk_Rock">
            <summary>
            Folk-Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.NationalFolk">
            <summary>
            National Folk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Swing">
            <summary>
            Swing
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.FastFusion">
            <summary>
            Fast Fusion
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Bebop">
            <summary>
            Bebop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Latin">
            <summary>
            Latin
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Revival">
            <summary>
            Revival
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Celtic">
            <summary>
            Celtic
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Bluegrass">
            <summary>
            Bluegrass
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Avantgarde">
            <summary>
            Avantgarde
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.GothicRock">
            <summary>
            Gothic Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.ProgressiveRock">
            <summary>
            Progressive Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.PsychadelicRock">
            <summary>
            Psychadelic Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.SymphonicRock">
            <summary>
            Symphonic Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.SlowRock">
            <summary>
            Slow Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.BigBand">
            <summary>
            Big Band
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Chorus">
            <summary>
            Chorus
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.EasyListening">
            <summary>
            Easy Listening
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Acoustic">
            <summary>
            Acoustic
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Homour">
            <summary>
            Homour
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Speech">
            <summary>
            Speech
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Chanson">
            <summary>
            Chanson
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Opera">
            <summary>
            Opera
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.ChamberMusic">
            <summary>
            Chamber Music
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Sonata">
            <summary>
            Sonata
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Symphony">
            <summary>
            Symphony
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.BootyBass">
            <summary>
            Booty Bass
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Primus">
            <summary>
            Primus
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.PornGroove">
            <summary>
            Porn Groove
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Satire">
            <summary>
            Satire
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.SlowJam">
            <summary>
            Slow Jam
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Club">
            <summary>
            Club
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Tango">
            <summary>
            Tango
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Samba">
            <summary>
            Samba
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Folklore">
            <summary>
            Folklore
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Ballad">
            <summary>
            Ballad
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.PowerBallad">
            <summary>
            Power Ballad
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.RythmicSoul">
            <summary>
            Rythmic Soul
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Freestyle">
            <summary>
            Freestyle
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Duet">
            <summary>
            Duet
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.PunkRock">
            <summary>
            Punk Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.DrumSolo">
            <summary>
            Drum Solo
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Acapella">
            <summary>
            Acapella
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Euor_House">
            <summary>
            Euor-House
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.DanceHall">
            <summary>
            Dance Hall
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Goa">
            <summary>
            Goa
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.DrumnBass">
            <summary>
            Drum &amp; Bass
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Club_House">
            <summary>
            Club-House
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Hardcore">
            <summary>
            Hardcore
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Terror">
            <summary>
            Terror
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Indie">
            <summary>
            Indie
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.BritPop">
            <summary>
            BritPop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Negerpunk">
            <summary>
            Negerpunk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.PolskPunk">
            <summary>
            Polsk Punk
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Beat">
            <summary>
            Beat
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.ChristianGangsta">
            <summary>
            Christian Gangsta
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.HeavyMetal">
            <summary>
            Heavy Metal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.BlackMetal">
            <summary>
            Black Metal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Crossover">
            <summary>
            Crossover
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Contemporary">
            <summary>
            Contemporary
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.ChristianRock">
            <summary>
            Christian Rock
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Merengue">
            <summary>
            Merengue
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Salsa">
            <summary>
            Salsa
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.TrashMetal">
            <summary>
            Trash Metal
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.Anime">
            <summary>
            Anime
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.JPop">
            <summary>
            JPop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.SynthPop">
            <summary>
            SynthPop
            </summary>
        </member>
        <member name="F:Alvas.Audio.Genre.None">
            <summary>
            Undefined genre
            </summary>
        </member>
    </members>
</doc>
