This repository has been archived on 2025-08-02. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Cryville.EEW.Unity/Assets/Plugins/Cryville.Audio.xml
2025-07-10 02:15:58 +08:00

1316 lines
61 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Audio</name>
</assembly>
<members>
<member name="T:Cryville.Audio.AudioClient">
<summary>
Audio client that manages connection to a <see cref="T:Cryville.Audio.IAudioDevice" />.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClient.Dispose">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioClient.Dispose(System.Boolean)">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
<param name="disposing">Whether the method is being called by user.</param>
</member>
<member name="P:Cryville.Audio.AudioClient.Device">
<summary>
The device of the client.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.Format">
<summary>
The current wave format of the connection.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.BufferSize">
<summary>
The buffer size in frames.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.MaximumLatency">
<summary>
The maximum latency of the connection in milliseconds.
</summary>
<remarks>
<para>May be zero if the API does not provide this value.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.AudioClient.Status">
<summary>
The status of the connection.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.Position">
<summary>
The current position of the device stream in seconds.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.BufferPosition">
<summary>
The current position of the buffer in seconds.
</summary>
</member>
<member name="P:Cryville.Audio.AudioClient.Source">
<summary>
The audio source.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClient.OnSetSource">
<summary>
Called when the source is set.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClient.Start">
<summary>
Starts the wave data transmission.
</summary>
<remarks>
If <see cref="P:Cryville.Audio.AudioClient.Source" /> is <see langword="null" /> while playing, the output will be silence.
</remarks>
</member>
<member name="M:Cryville.Audio.AudioClient.Pause">
<summary>
Pauses the wave data transmission.
</summary>
<remarks>
This method does not reset <see cref="P:Cryville.Audio.AudioClient.Position" /> and <see cref="P:Cryville.Audio.AudioClient.BufferPosition" />.
</remarks>
</member>
<member name="M:Cryville.Audio.AudioClient.Close">
<summary>
Closes the connection.
</summary>
</member>
<member name="E:Cryville.Audio.AudioClient.PlaybackDisconnected">
<summary>
Raised when the audio client is disconnected during playback.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClient.OnPlaybackDisconnected">
<summary>
Called by a derived class when the audio client is disconnected during playback.
</summary>
</member>
<member name="T:Cryville.Audio.AudioClientDisconnectedException">
<summary>
Thrown when an invalid operation is attempted on a disconnected <see cref="T:Cryville.Audio.AudioClient" />.
</summary>
</member>
<member name="M:Cryville.Audio.AudioClientDisconnectedException.#ctor">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioClientDisconnectedException.#ctor(System.Exception)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioClientDisconnectedException.#ctor(System.String)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioClientDisconnectedException.#ctor(System.String,System.Exception)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioClientDisconnectedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.AudioClientStatus">
<summary>
Status of the <see cref="T:Cryville.Audio.AudioClient" />.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Idle">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is open but not yet started, or paused.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Starting">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is being started.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Playing">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is started and playing.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Pausing">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is being paused.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Closing">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is being closed.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Closed">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is closed.
</summary>
</member>
<member name="F:Cryville.Audio.AudioClientStatus.Disconnected">
<summary>
The <see cref="T:Cryville.Audio.AudioClient" /> is disconnected.
</summary>
</member>
<member name="T:Cryville.Audio.AudioShareMode">
<summary>
The share mode of an audio connection.
</summary>
</member>
<member name="F:Cryville.Audio.AudioShareMode.Shared">
<summary>
The device is shared with other connections, at the cost of a higher latency than <see cref="F:Cryville.Audio.AudioShareMode.Exclusive" />. The output data is mixed by the audio service.
</summary>
</member>
<member name="F:Cryville.Audio.AudioShareMode.Exclusive">
<summary>
The device is exclusive to the current connection, providing a low latency.
</summary>
<remarks>To initialize an exclusive connection, the device must allow exclusive mode and must not be being used in either modes at the moment.</remarks>
</member>
<member name="T:Cryville.Audio.AudioStream">
<summary>
Audio stream.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.Format">
<summary>
The wave format.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.BufferSize">
<summary>
The buffer size in frames.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.EndOfData">
<summary>
Whether if the stream has reached the end of data.
</summary>
</member>
<member name="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)">
<summary>
Sets the wave format and the buffer size of this audio stream.
</summary>
<param name="format">The wave format.</param>
<param name="bufferSize">The buffer size in frames.</param>
<exception cref="T:System.InvalidOperationException">This method has already been called successfully once on the audio stream.</exception>
<exception cref="T:System.NotSupportedException"><paramref name="format" /> is not supported by the audio stream.</exception>
</member>
<member name="M:Cryville.Audio.AudioStream.OnSetFormat">
<summary>
Called when the wave format and the buffer size is determined.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.DefaultFormat">
<summary>
The default wave format of the stream.
</summary>
</member>
<member name="M:Cryville.Audio.AudioStream.IsFormatSupported(Cryville.Audio.WaveFormat)">
<summary>
Gets whether <paramref name="format" /> is supported by the audio stream.
</summary>
<param name="format">The wave format.</param>
</member>
<member name="M:Cryville.Audio.AudioStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioStream.SeekFrame(System.Int64,System.IO.SeekOrigin)">
<summary>
Sets the time in frames within the current audio stream.
</summary>
<param name="frameOffset">An offset in frames relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in frames within the current audio stream.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SeekTime(System.Double,System.IO.SeekOrigin)">
<summary>
Sets the time in seconds within the current audio stream.
</summary>
<param name="timeOffset">An offset in seconds relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in seconds within the current audio stream.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SeekTimeInternal(System.Double,System.IO.SeekOrigin)">
<summary>
When overridden in a derived class, sets the time in seconds within the current audio stream.
</summary>
<param name="timeOffset">An offset in seconds relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in seconds within the current audio stream.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<summary>
When overridden in a derived class, sets the time in frames within the current audio stream.
</summary>
<param name="frameOffset">An offset in frames relative to the <paramref name="origin" /> parameter.</param>
<param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new time.</param>
<returns>The new time in frames within the current audio stream.</returns>
</member>
<member name="P:Cryville.Audio.AudioStream.Length">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AudioStream.FrameLength">
<summary>
The length of the audio stream in frames.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.TimeLength">
<summary>
The length of the audio stream in seconds.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.Position">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AudioStream.FramePosition">
<summary>
The time in frames within the current audio stream.
</summary>
</member>
<member name="P:Cryville.Audio.AudioStream.TimePosition">
<summary>
The time in seconds within the current audio stream.
</summary>
</member>
<member name="M:Cryville.Audio.AudioStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AudioStream.ReadFrames(System.Byte[],System.Int32,System.Int32)">
<summary>
Reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values started from <paramref name="offset" /> replaced by the frames read from the current audio source.</param>
<param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current audio stream.</param>
<param name="frameCount">The maximum number of frames to be read from the current audio stream.</param>
<returns>The total number of frames read into the buffer. This can be less than the number of frames requested if that many frames are not currently available, or zero (0) if <paramref name="frameCount" /> is 0 or the end of the stream has been reached.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.ReadFrames(System.Byte@,System.Int32)">
<summary>
Reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<param name="buffer">A reference to the buffer. When this method returns, the buffer contains the specified data replaced by the frames read from the current audio source.</param>
<param name="frameCount">The maximum number of frames to be read from the current audio stream.</param>
<returns>The total number of frames read into the buffer. This can be less than the number of frames requested if that many frames are not currently available, or zero (0) if <paramref name="frameCount" /> is 0 or the end of the stream has been reached.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.ReadFramesInternal(System.Byte@,System.Int32)">
<summary>
When overridden in a derived class, reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
</summary>
<param name="buffer">A reference to the buffer. When this method returns, the buffer contains the specified data replaced by the frames read from the current audio source.</param>
<param name="frameCount">The maximum number of frames to be read from the current audio stream.</param>
<returns>The total number of frames read into the buffer. This can be less than the number of frames requested if that many frames are not currently available, or zero (0) if <paramref name="frameCount" /> is 0 or the end of the stream has been reached.</returns>
</member>
<member name="M:Cryville.Audio.AudioStream.SilentBuffer(Cryville.Audio.WaveFormat,System.Byte@,System.Int32)">
<summary>
Fills the buffer with silence.
</summary>
<param name="format">The wave format.</param>
<param name="buffer">The buffer to be filled.</param>
<param name="frameCount">The length in frames to be filled.</param>
</member>
<member name="T:Cryville.Audio.AudioUsage">
<summary>
Audio usage.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Unknown">
<summary>
Unknown usage.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Media">
<summary>
The usage is media, such as music, or movie soundtracks.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Communication">
<summary>
The usage is voice communications, such as telephony or VoIP.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Alarm">
<summary>
The usage is an alarm (e.g. wake-up alarm).
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Notification">
<summary>
The usage is notification.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.NotificationRingtone">
<summary>
The usage is telephony ringtone.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.NotificationEvent">
<summary>
The usage is to attract the user's attention, such as a reminder or low battery warning.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.AssistanceAccessibility">
<summary>
The usage is for accessibility, such as with a screen reader.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.AssistanceNavigation">
<summary>
The usage is driving or navigation directions.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.AssistanceSonification">
<summary>
The usage is sonification, such as with user interface sounds.
</summary>
</member>
<member name="F:Cryville.Audio.AudioUsage.Game">
<summary>
The usage is for game audio.
</summary>
</member>
<member name="T:Cryville.Audio.AutoReconnectContext">
<summary>
A context as an <see cref="T:Cryville.Audio.AudioClient" /> proxy that reconnects the audio device automatically on disconnection.
</summary>
<param name="manager">The audio device manager.</param>
<param name="dataFlow">The data-flow direction.</param>
<remarks>
<para>Call <see cref="M:Cryville.Audio.AutoReconnectContext.Init" /> to initialize the context.</para>
<para>Be cautious when replacing the audio stream with <see cref="P:Cryville.Audio.AudioClient.Source" />. If the audio stream needs to recreated, the replaced audio stream will be discarded, and <see cref="M:Cryville.Audio.AutoReconnectContext.CreateAudioStream" /> will be called to create the new stream.</para>
<para>The caller must not dispose <see cref="P:Cryville.Audio.AutoReconnectContext.MainStream" />, and <see cref="P:Cryville.Audio.AudioClient.Source" /> as well if it was not replaced. The caller is responsible for disposing any replaced <see cref="P:Cryville.Audio.AudioClient.Source" />.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.#ctor(Cryville.Audio.IAudioDeviceManager,Cryville.Audio.DataFlow)">
<summary>
A context as an <see cref="T:Cryville.Audio.AudioClient" /> proxy that reconnects the audio device automatically on disconnection.
</summary>
<param name="manager">The audio device manager.</param>
<param name="dataFlow">The data-flow direction.</param>
<remarks>
<para>Call <see cref="M:Cryville.Audio.AutoReconnectContext.Init" /> to initialize the context.</para>
<para>Be cautious when replacing the audio stream with <see cref="P:Cryville.Audio.AudioClient.Source" />. If the audio stream needs to recreated, the replaced audio stream will be discarded, and <see cref="M:Cryville.Audio.AutoReconnectContext.CreateAudioStream" /> will be called to create the new stream.</para>
<para>The caller must not dispose <see cref="P:Cryville.Audio.AutoReconnectContext.MainStream" />, and <see cref="P:Cryville.Audio.AudioClient.Source" /> as well if it was not replaced. The caller is responsible for disposing any replaced <see cref="P:Cryville.Audio.AudioClient.Source" />.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.Device">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.Format">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.BufferSize">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.Position">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.BufferPosition">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.OnSetSource">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.Start">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.Close">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AutoReconnectContext.MainStream">
<summary>
The stream created with <see cref="M:Cryville.Audio.AutoReconnectContext.CreateAudioStream" />.
</summary>
<remarks>
<para>The audio stream held by this property is owned by the context and must not be disposed by the caller.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.SelectDevice(Cryville.Audio.DataFlow)">
<summary>
Selects the audio device.
</summary>
<param name="dataFlow">The data-flow direction.</param>
<returns>The selected audio device.</returns>
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.ConnectTo(Cryville.Audio.IAudioDevice)">
<summary>
Connects to the audio device.
</summary>
<param name="device">The audio device.</param>
<returns>The audio client.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="device" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.CreateAudioStream">
<summary>
Creates an audio stream as the source stream of the audio client.
</summary>
<returns>The audio stream as the source stream of the audio client.</returns>
<remarks>
<para>This method is called when the context is initialized or when the audio stream needs to be recreated after reconnection. For the latter case, the caller can use <see cref="P:Cryville.Audio.AutoReconnectContext.MainStream" /> to capture the state of the last audio stream. When this method returns, the last stream will be disposed and <see cref="P:Cryville.Audio.AutoReconnectContext.MainStream" /> will be replaced with the new stream returned by this method.</para>
<para>The audio stream needs to be recreated after reconnection if the format or the buffer size of the audio client is changed.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.AutoReconnectContext.Init">
<summary>
Initializes the context by connecting to the audio device.
</summary>
</member>
<member name="T:Cryville.Audio.ChannelMask">
<summary>
Audio channel mask describing the samples and their arrangement in the audio frame.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontLeft">
<summary>
Front left (FL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontRight">
<summary>
Front right (FR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontCenter">
<summary>
Front center (FC) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.LowFrequency">
<summary>
"Low frequency effect" (LFE) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.BackLeft">
<summary>
Back left (BL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.BackRight">
<summary>
Back right (BR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontLeftOfCenter">
<summary>
Front left of center channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontRightOfCenter">
<summary>
Front right of center channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.BackCenter">
<summary>
Back center (BC) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.SideLeft">
<summary>
Side left (SL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.SideRight">
<summary>
Side right (SR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopCenter">
<summary>
Top center (TC) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopFrontLeft">
<summary>
Top front left (TFL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopFrontCenter">
<summary>
Top front center (TFC) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopFrontRight">
<summary>
Top front right (TFR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopBackLeft">
<summary>
Top back left (TBL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopBackCenter">
<summary>
Top back center (TBC) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopBackRight">
<summary>
Top back right (TBR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopSideLeft">
<summary>
Top side left (TSL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopSideRight">
<summary>
Top side right (TSR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.BottomFrontLeft">
<summary>
Bottom front left (BFL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.BottomFrontCenter">
<summary>
Bottom front center (BFC) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.BottomFrontRight">
<summary>
Bottom front right (BFR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.LowFrequency2">
<summary>
The second "low frequency effect" (LFE) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontWideLeft">
<summary>
Front wide left (FWL) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FrontWideRight">
<summary>
Front wide right (FWR) channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Mono">
<summary>
Mono channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Stereo">
<summary>
Stereo channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Tri">
<summary>
3 channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TriBack">
<summary>
3 channel layout, with the third channel placed on the back.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Four">
<summary>
4 channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Quad">
<summary>
Quad channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FiveBack">
<summary>
5 channel layout, with surround channels placed on the back.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.FiveSide">
<summary>
5 channel layout, with surround channels placed on the side.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.SixBack">
<summary>
6 channel layout, with surround channels placed on the back.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.SixSide">
<summary>
6 channel layout, with surround channels placed on the side.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Seven">
<summary>
7 channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Octagonal">
<summary>
Octagonal channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.Nine">
<summary>
9 channel layout.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.LFPoint1">
<summary>
x.1 channel layout, adding one LFE channel.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.LFPoint2">
<summary>
x.2 channel layout, adding two LFE channels.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopPoint2Front">
<summary>
x.2 channel layout, adding two top front channels.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopPoint2Side">
<summary>
x.2 channel layout, adding two top side channels.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopPoint4">
<summary>
x.4 channel layout, adding four top channels.
</summary>
</member>
<member name="F:Cryville.Audio.ChannelMask.TopPoint6">
<summary>
x.6 channel layout, adding six top channels.
</summary>
</member>
<member name="T:Cryville.Audio.DataFlow">
<summary>
The data-flow direction of an audio connection.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.None">
<summary>
None.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.Out">
<summary>
Data flows from software to hardware.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.In">
<summary>
Data flows from hardware to software.
</summary>
</member>
<member name="F:Cryville.Audio.DataFlow.All">
<summary>
Any data-flow direction.
</summary>
</member>
<member name="T:Cryville.Audio.EngineBuilder">
<summary>
The recommended entry for Cryville.Audio that creates an <see cref="T:Cryville.Audio.IAudioDeviceManager" />.
</summary>
</member>
<member name="P:Cryville.Audio.EngineBuilder.Engines">
<summary>
The list of available engines.
</summary>
</member>
<member name="M:Cryville.Audio.EngineBuilder.Create">
<summary>
Creates a <see cref="T:Cryville.Audio.IAudioDeviceManager" /> in the <see cref="P:Cryville.Audio.EngineBuilder.Engines" /> list.
</summary>
<returns>The first <see cref="T:Cryville.Audio.IAudioDeviceManager" /> that can be successfully created. <see langword="null" /> if no engine is supported.</returns>
<remarks>
<para>Add engines to <see cref="P:Cryville.Audio.EngineBuilder.Engines" /> before calling this method.</para>
</remarks>
</member>
<member name="T:Cryville.Audio.IAudioClientDevice">
<summary>
Represents an <see cref="T:Cryville.Audio.IAudioDevice" /> that holds an underlying "client" as well.
</summary>
</member>
<member name="M:Cryville.Audio.IAudioClientDevice.ReactivateClient">
<summary>
When implemented, reactivates the underlying "client" if it is used in the device class.
</summary>
<remarks>
<para>This method serves as a fast path for reconnection. When reconnecting, this method should be called before calling <see cref="M:Cryville.Audio.IAudioDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)" />. If that even fails, the caller will have to recreate the device.</para>
</remarks>
</member>
<member name="T:Cryville.Audio.IAudioDevice">
<summary>
Audio device.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.Name">
<summary>
The friendly name of the device.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.DataFlow">
<summary>
The data-flow direction of the device.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.BurstSize">
<summary>
The burst size of the device in frames.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.MinimumBufferSize">
<summary>
The minimum buffer size of the device in frames.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.DefaultBufferSize">
<summary>
The default buffer size of the device in frames.
</summary>
</member>
<member name="P:Cryville.Audio.IAudioDevice.DefaultFormat">
<summary>
The default wave format of the device for shared-mode streams.
</summary>
<remarks>
<para>For exclusive-mode streams, call <see cref="M:Cryville.Audio.IAudioDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)" /> to determine an eligible format.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.IAudioDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<summary>
Gets whether <paramref name="format" /> is supported by the device.
</summary>
<param name="format">The specified wave format.</param>
<param name="suggestion">A wave format suggested by the device. <paramref name="format" /> if it is supported. <see langword="null" /> if no format is supported.</param>
<param name="usage">The audio usage.</param>
<param name="shareMode">The share mode.</param>
<returns>Whether <paramref name="format" /> is supported.</returns>
</member>
<member name="M:Cryville.Audio.IAudioDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<summary>
Connects to the device.
</summary>
<param name="format">The wave format.</param>
<param name="bufferSize">The buffer size of the connection in frames.</param>
<param name="usage">The audio usage.</param>
<param name="shareMode">The share mode of the connection.</param>
<returns>An <see cref="T:Cryville.Audio.AudioClient" /> for interaction with the device.</returns>
</member>
<member name="T:Cryville.Audio.IAudioDeviceManager">
<summary>
Audio device manager that manages <see cref="T:Cryville.Audio.IAudioDevice" />.
</summary>
<remarks>
If the <see cref="T:Cryville.Audio.IAudioDeviceManager" /> is not supported, an exception is thrown when trying to create an instance.
</remarks>
</member>
<member name="M:Cryville.Audio.IAudioDeviceManager.GetDevices(Cryville.Audio.DataFlow)">
<summary>
Gets all audio devices for the specified <paramref name="dataFlow" />.
</summary>
<param name="dataFlow">The data-flow direction.</param>
</member>
<member name="M:Cryville.Audio.IAudioDeviceManager.GetDefaultDevice(Cryville.Audio.DataFlow)">
<summary>
Gets the default audio device for the specified <paramref name="dataFlow" />.
</summary>
<param name="dataFlow">The data-flow direction.</param>
</member>
<member name="T:Cryville.Audio.SampleReader">
<summary>
Represents the method that reads a sample of a specific sample format as a <see cref="T:System.Double" /> value.
</summary>
<param name="ptr">The pointer to the buffer to be read, advanced to the next sample when the method returns.</param>
<returns>The sample value as a <see cref="T:System.Double" /> value.</returns>
</member>
<member name="T:Cryville.Audio.SampleWriter">
<summary>
Represents the method that writes a <see cref="T:System.Double" /> sample value as a specific sample format.
</summary>
<param name="ptr">The pointer to the buffer to be written, advanced to the next sample when the method returns.</param>
<param name="v">The <see cref="T:System.Double" /> sample value to be written.</param>
</member>
<member name="T:Cryville.Audio.SampleConvert">
<summary>
Provides a set of <see cref="T:Cryville.Audio.SampleReader" /> and <see cref="T:Cryville.Audio.SampleWriter" /> methods for various sample formats.
</summary>
</member>
<member name="M:Cryville.Audio.SampleConvert.GetSampleReader(Cryville.Audio.SampleFormat)">
<summary>
Gets a <see cref="T:Cryville.Audio.SampleReader" /> for a sample format.
</summary>
<param name="sampleFormat">The sample format.</param>
<returns>A <see cref="T:Cryville.Audio.SampleReader" /> for the specified sample format.</returns>
<exception cref="T:System.NotSupportedException">The specified sample format is not supported.</exception>
</member>
<member name="M:Cryville.Audio.SampleConvert.GetSampleWriter(Cryville.Audio.SampleFormat)">
<summary>
Gets a <see cref="T:Cryville.Audio.SampleWriter" /> for a sample format.
</summary>
<param name="sampleFormat">The sample format.</param>
<returns>A <see cref="T:Cryville.Audio.SampleWriter" /> for the specified sample format.</returns>
<exception cref="T:System.NotSupportedException">The specified sample format is not supported.</exception>
</member>
<member name="T:Cryville.Audio.Source.CachedAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that caches data for reuse.
</summary>
<remarks>
<para>This stream is not seekable. Use <see cref="M:Cryville.Audio.Source.CachedAudioSource.Rewind" /> to reset its timestamp to zero.</para>
</remarks>
<param name="source">The <see cref="T:Cryville.Audio.AudioStream" /> to be cached.</param>
<param name="duration">The duration of the cache in seconds.</param>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.#ctor(Cryville.Audio.AudioStream,System.Double)">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that caches data for reuse.
</summary>
<remarks>
<para>This stream is not seekable. Use <see cref="M:Cryville.Audio.Source.CachedAudioSource.Rewind" /> to reset its timestamp to zero.</para>
</remarks>
<param name="source">The <see cref="T:Cryville.Audio.AudioStream" /> to be cached.</param>
<param name="duration">The duration of the cache in seconds.</param>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Clone">
<summary>
Gets a clone of this <see cref="T:Cryville.Audio.Source.CachedAudioSource" /> with the timestamp reset.
</summary>
<returns>A clone of this <see cref="T:Cryville.Audio.Source.CachedAudioSource" /> with the timestamp reset.</returns>
<remarks>
Use with object pool is recommended.
</remarks>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Rewind">
<summary>
Resets the timestamp to reuse the instance.
</summary>
<remarks>
Use with object pool is recommended.
</remarks>
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.FrameLength">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.CachedAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.CachedAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.FunctionAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that generates sound by a given function.
</summary>
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.Channels">
<summary>
The channel count of the output format.
</summary>
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.FrameLength">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Func(System.Double,System.Int32)">
<summary>
The function used to generate wave.
</summary>
<param name="time">The time position.</param>
<param name="channel">The channel index.</param>
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.FunctionAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.FunctionAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.SimpleSequencerSource">
<summary>
A simple <see cref="T:Cryville.Audio.AudioStream" /> that mixes sequenced audio sources.
</summary>
<remarks>
<para>To use this class, take the following steps:</para>
<list type="number">
<item>Create an instance of <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" />.</item>
<item>Attach the <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" /> to an <see cref="T:Cryville.Audio.AudioClient" /> by setting <see cref="P:Cryville.Audio.AudioClient.Source" />.</item>
<item>Create a new <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> by calling <see cref="M:Cryville.Audio.Source.SimpleSequencerSource.NewSession" />.</item>
<item>Start playback by calling <see cref="M:Cryville.Audio.AudioClient.Start" /> and setting <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.Playing" /> to <see langword="true" />.</item>
</list>
<para><see cref="T:Cryville.Audio.AudioStream" />s can be sequenced to the <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> both before and after playback starts. See <see cref="M:Cryville.Audio.Source.SimpleSequencerSession.Sequence(System.Double,Cryville.Audio.AudioStream)" />.</para>
<para>If <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.Playing" /> is set to <see langword="false" />, the output will become silence.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.#ctor(System.Int32)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" /> class.
</summary>
<param name="maxPolyphony">Max polyphony of the source. Must be greater than 0. See <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.MaxPolyphony"/>.</param>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.FrameLength">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.OnSetFormat">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Playing">
<summary>
Whether if the current session is playing.
</summary>
<remarks>
There is a tiny delay before the playback state actually toggles, which is approximately <see cref="P:Cryville.Audio.AudioClient.BufferPosition" /> substracted by <see cref="P:Cryville.Audio.AudioClient.Position" />.
</remarks>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
<param name="frameOffset">A byte offset relative to the current position.</param>
<param name="origin">Must be <see cref="F:System.IO.SeekOrigin.Current" />.</param>
<remarks>
<para>This stream can only be sought from the current position, and forward only. Thus, <paramref name="frameOffset" /> must be non-negative, and <paramref name="origin" /> must be <see cref="F:System.IO.SeekOrigin.Current" />.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.CanSeek">
<inheritdoc />
<remarks>
<para>This stream can only be sought from the current position, and forward only. See <see cref="M:Cryville.Audio.Source.SimpleSequencerSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)" />.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Polyphony">
<summary>
The number of sources currently playing.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.MaxPolyphony">
<summary>
Max polyphony, the number of sources that can be played at the same time.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSource.Session">
<summary>
The <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> currently playing.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSource.NewSession">
<summary>
Stops the current session and creates a new <see cref="T:Cryville.Audio.Source.SimpleSequencerSession" /> to replace it.
</summary>
<remarks>
An <see cref="T:Cryville.Audio.AudioClient" /> must be attached to this source first.
</remarks>
</member>
<member name="T:Cryville.Audio.Source.SimpleSequencerSession">
<summary>
A session for <see cref="T:Cryville.Audio.Source.SimpleSequencerSource" />.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSession.FramePosition">
<summary>
The time in frames within the current session.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SimpleSequencerSession.TimePosition">
<summary>
The time in seconds within the current session.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SimpleSequencerSession.Sequence(System.Double,Cryville.Audio.AudioStream)">
<summary>
Sequences a <paramref name="source" /> at the specified <paramref name="time" />.
</summary>
<param name="time">The time in seconds.</param>
<param name="source">The audio source.</param>
<remarks>
<para>If <paramref name="time" /> is less than the current time, the <paramref name="source" /> will be played immediately.</para>
<para>If the number of audio sources currently playing exceeds <see cref="P:Cryville.Audio.Source.SimpleSequencerSource.MaxPolyphony" />, the <paramref name="source" /> will be discarded.</para>
<para>Audio sources can be sequenced even when the sequencer has been disposed, while it would not have any effect.</para>
</remarks>
</member>
<member name="T:Cryville.Audio.Source.SingleToneAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that generates single tone.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SingleToneAudioSource.Type">
<summary>
The tone type.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SingleToneAudioSource.Frequency">
<summary>
The frequency of the wave.
</summary>
</member>
<member name="P:Cryville.Audio.Source.SingleToneAudioSource.Amplitude">
<summary>
The amplitude of the wave.
</summary>
</member>
<member name="M:Cryville.Audio.Source.SingleToneAudioSource.Func(System.Double,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.ToneType">
<summary>
Tone type.
</summary>
</member>
<member name="F:Cryville.Audio.Source.ToneType.Sine">
<summary>
Sine wave.
</summary>
</member>
<member name="F:Cryville.Audio.Source.ToneType.Triangle">
<summary>
Triangle wave.
</summary>
</member>
<member name="F:Cryville.Audio.Source.ToneType.Square">
<summary>
Square wave.
</summary>
</member>
<member name="T:Cryville.Audio.WaveFormat">
<summary>
The wave format.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.Channels">
<summary>
The channel count.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.SampleRate">
<summary>
The sample rate (samples per channel per second, i.e. frames per second.)
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.SampleFormat">
<summary>
The sample format.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.BitsPerSample">
<summary>
Bit count per sample.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.ChannelMask">
<summary>
The channel layout.
</summary>
</member>
<member name="M:Cryville.Audio.WaveFormat.IsChannelMaskValid">
<summary>
Determines whether the number of bits set in <see cref="P:Cryville.Audio.WaveFormat.ChannelMask" /> equals to <see cref="P:Cryville.Audio.WaveFormat.Channels" />.
</summary>
<returns>Whether the number of bits set in <see cref="P:Cryville.Audio.WaveFormat.ChannelMask" /> equals to <see cref="P:Cryville.Audio.WaveFormat.Channels" />.</returns>
</member>
<member name="M:Cryville.Audio.WaveFormat.AssignDefaultChannelMask">
<summary>
Assigns the default channel mask for the given channel count.
</summary>
<returns>Whether a default channel mask is found.</returns>
</member>
<member name="P:Cryville.Audio.WaveFormat.FrameSize">
<summary>
Bytes per frame.
</summary>
</member>
<member name="P:Cryville.Audio.WaveFormat.BytesPerSecond">
<summary>
Bytes per second.
</summary>
</member>
<member name="F:Cryville.Audio.WaveFormat.Default">
<summary>
The default wave format.
</summary>
</member>
<member name="M:Cryville.Audio.WaveFormat.ToString">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.Equals(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.GetHashCode">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.op_Equality(Cryville.Audio.WaveFormat,Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.WaveFormat.op_Inequality(Cryville.Audio.WaveFormat,Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.SampleFormat">
<summary>
Sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.Invalid">
<summary>
Invalid sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.U8">
<summary>
Unsigned 8-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.S16">
<summary>
Signed 16-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.S24">
<summary>
Signed 24-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.S32">
<summary>
Signed 32-bit integer sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.F32">
<summary>
IEEE 754 single precision floating-point sample format.
</summary>
</member>
<member name="F:Cryville.Audio.SampleFormat.F64">
<summary>
IEEE 754 double precision floating-point sample format.
</summary>
</member>
</members>
</doc>