Cryville.Audio
Audio client that manages connection to a .
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Whether the method is being called by user.
The device of the client.
The current wave format of the connection.
The buffer size in frames.
The maximum latency of the connection in milliseconds.
May be zero if the API does not provide this value.
The status of the connection.
The current position of the device stream in seconds.
The current position of the buffer in seconds.
The audio source.
Called when the source is set.
Starts the wave data transmission.
If is while playing, the output will be silence.
Pauses the wave data transmission.
This method does not reset and .
Closes the connection.
Raised when the audio client is disconnected during playback.
Called by a derived class when the audio client is disconnected during playback.
Thrown when an invalid operation is attempted on a disconnected .
Status of the .
The is open but not yet started, or paused.
The is being started.
The is started and playing.
The is being paused.
The is being closed.
The is closed.
The is disconnected.
The share mode of an audio connection.
The device is shared with other connections, at the cost of a higher latency than . The output data is mixed by the audio service.
The device is exclusive to the current connection, providing a low latency.
To initialize an exclusive connection, the device must allow exclusive mode and must not be being used in either modes at the moment.
Audio stream.
The wave format.
The buffer size in frames.
Whether if the stream has reached the end of data.
Sets the wave format and the buffer size of this audio stream.
The wave format.
The buffer size in frames.
This method has already been called successfully once on the audio stream.
is not supported by the audio stream.
Called when the wave format and the buffer size is determined.
The default wave format of the stream.
Gets whether is supported by the audio stream.
The wave format.
Sets the time in frames within the current audio stream.
An offset in frames relative to the parameter.
A value of type indicating the reference point used to obtain the new time.
The new time in frames within the current audio stream.
Sets the time in seconds within the current audio stream.
An offset in seconds relative to the parameter.
A value of type indicating the reference point used to obtain the new time.
The new time in seconds within the current audio stream.
When overridden in a derived class, sets the time in seconds within the current audio stream.
An offset in seconds relative to the parameter.
A value of type indicating the reference point used to obtain the new time.
The new time in seconds within the current audio stream.
When overridden in a derived class, sets the time in frames within the current audio stream.
An offset in frames relative to the parameter.
A value of type indicating the reference point used to obtain the new time.
The new time in frames within the current audio stream.
The length of the audio stream in frames.
The length of the audio stream in seconds.
The time in frames within the current audio stream.
The time in seconds within the current audio stream.
Reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
An array of bytes. When this method returns, the buffer contains the specified byte array with the values started from replaced by the frames read from the current audio source.
The zero-based byte offset in at which to begin storing the data read from the current audio stream.
The maximum number of frames to be read from the current audio stream.
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 is 0 or the end of the stream has been reached.
Reads a sequence of frames from the current stream and advances the position within the stream by the number of bytes read.
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.
The maximum number of frames to be read from the current audio stream.
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 is 0 or the end of the stream has been reached.
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.
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.
The maximum number of frames to be read from the current audio stream.
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 is 0 or the end of the stream has been reached.
Fills the buffer with silence.
The wave format.
The buffer to be filled.
The length in frames to be filled.
Audio usage.
Unknown usage.
The usage is media, such as music, or movie soundtracks.
The usage is voice communications, such as telephony or VoIP.
The usage is an alarm (e.g. wake-up alarm).
The usage is notification.
The usage is telephony ringtone.
The usage is to attract the user's attention, such as a reminder or low battery warning.
The usage is for accessibility, such as with a screen reader.
The usage is driving or navigation directions.
The usage is sonification, such as with user interface sounds.
The usage is for game audio.
A context as an proxy that reconnects the audio device automatically on disconnection.
The audio device manager.
The data-flow direction.
Call to initialize the context.
Be cautious when replacing the audio stream with . If the audio stream needs to recreated, the replaced audio stream will be discarded, and will be called to create the new stream.
The caller must not dispose , and as well if it was not replaced. The caller is responsible for disposing any replaced .
A context as an proxy that reconnects the audio device automatically on disconnection.
The audio device manager.
The data-flow direction.
Call to initialize the context.
Be cautious when replacing the audio stream with . If the audio stream needs to recreated, the replaced audio stream will be discarded, and will be called to create the new stream.
The caller must not dispose , and as well if it was not replaced. The caller is responsible for disposing any replaced .
The stream created with .
The audio stream held by this property is owned by the context and must not be disposed by the caller.
Selects the audio device.
The data-flow direction.
The selected audio device.
Connects to the audio device.
The audio device.
The audio client.
is .
Creates an audio stream as the source stream of the audio client.
The audio stream as the source stream of the audio client.
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 to capture the state of the last audio stream. When this method returns, the last stream will be disposed and will be replaced with the new stream returned by this method.
The audio stream needs to be recreated after reconnection if the format or the buffer size of the audio client is changed.
Initializes the context by connecting to the audio device.
Audio channel mask describing the samples and their arrangement in the audio frame.
Front left (FL) channel.
Front right (FR) channel.
Front center (FC) channel.
"Low frequency effect" (LFE) channel.
Back left (BL) channel.
Back right (BR) channel.
Front left of center channel.
Front right of center channel.
Back center (BC) channel.
Side left (SL) channel.
Side right (SR) channel.
Top center (TC) channel.
Top front left (TFL) channel.
Top front center (TFC) channel.
Top front right (TFR) channel.
Top back left (TBL) channel.
Top back center (TBC) channel.
Top back right (TBR) channel.
Top side left (TSL) channel.
Top side right (TSR) channel.
Bottom front left (BFL) channel.
Bottom front center (BFC) channel.
Bottom front right (BFR) channel.
The second "low frequency effect" (LFE) channel.
Front wide left (FWL) channel.
Front wide right (FWR) channel.
Mono channel layout.
Stereo channel layout.
3 channel layout.
3 channel layout, with the third channel placed on the back.
4 channel layout.
Quad channel layout.
5 channel layout, with surround channels placed on the back.
5 channel layout, with surround channels placed on the side.
6 channel layout, with surround channels placed on the back.
6 channel layout, with surround channels placed on the side.
7 channel layout.
Octagonal channel layout.
9 channel layout.
x.1 channel layout, adding one LFE channel.
x.2 channel layout, adding two LFE channels.
x.2 channel layout, adding two top front channels.
x.2 channel layout, adding two top side channels.
x.4 channel layout, adding four top channels.
x.6 channel layout, adding six top channels.
The data-flow direction of an audio connection.
None.
Data flows from software to hardware.
Data flows from hardware to software.
Any data-flow direction.
The recommended entry for Cryville.Audio that creates an .
The list of available engines.
Creates a in the list.
The first that can be successfully created. if no engine is supported.
Add engines to before calling this method.
Represents an that holds an underlying "client" as well.
When implemented, reactivates the underlying "client" if it is used in the device class.
This method serves as a fast path for reconnection. When reconnecting, this method should be called before calling . If that even fails, the caller will have to recreate the device.
Audio device.
The friendly name of the device.
The data-flow direction of the device.
The burst size of the device in frames.
The minimum buffer size of the device in frames.
The default buffer size of the device in frames.
The default wave format of the device for shared-mode streams.
For exclusive-mode streams, call to determine an eligible format.
Gets whether is supported by the device.
The specified wave format.
A wave format suggested by the device. if it is supported. if no format is supported.
The audio usage.
The share mode.
Whether is supported.
Connects to the device.
The wave format.
The buffer size of the connection in frames.
The audio usage.
The share mode of the connection.
An for interaction with the device.
Audio device manager that manages .
If the is not supported, an exception is thrown when trying to create an instance.
Gets all audio devices for the specified .
The data-flow direction.
Gets the default audio device for the specified .
The data-flow direction.
Represents the method that reads a sample of a specific sample format as a value.
The pointer to the buffer to be read, advanced to the next sample when the method returns.
The sample value as a value.
Represents the method that writes a sample value as a specific sample format.
The pointer to the buffer to be written, advanced to the next sample when the method returns.
The sample value to be written.
Provides a set of and methods for various sample formats.
Gets a for a sample format.
The sample format.
A for the specified sample format.
The specified sample format is not supported.
Gets a for a sample format.
The sample format.
A for the specified sample format.
The specified sample format is not supported.
An that caches data for reuse.
This stream is not seekable. Use to reset its timestamp to zero.
The to be cached.
The duration of the cache in seconds.
An that caches data for reuse.
This stream is not seekable. Use to reset its timestamp to zero.
The to be cached.
The duration of the cache in seconds.
Gets a clone of this with the timestamp reset.
A clone of this with the timestamp reset.
Use with object pool is recommended.
Resets the timestamp to reuse the instance.
Use with object pool is recommended.
Whether this audio stream has been disposed.
An that generates sound by a given function.
The channel count of the output format.
Whether this audio stream has been disposed.
The function used to generate wave.
The time position.
The channel index.
A simple that mixes sequenced audio sources.
To use this class, take the following steps:
- Create an instance of .
- Attach the to an by setting .
- Create a new by calling .
- Start playback by calling and setting to .
s can be sequenced to the both before and after playback starts. See .
If is set to , the output will become silence.
Creates an instance of the class.
Max polyphony of the source. Must be greater than 0. See .
Whether this audio stream has been disposed.
Whether if the current session is playing.
There is a tiny delay before the playback state actually toggles, which is approximately substracted by .
A byte offset relative to the current position.
Must be .
This stream can only be sought from the current position, and forward only. Thus, must be non-negative, and must be .
This stream can only be sought from the current position, and forward only. See .
The number of sources currently playing.
Max polyphony, the number of sources that can be played at the same time.
The currently playing.
Stops the current session and creates a new to replace it.
An must be attached to this source first.
A session for .
The time in frames within the current session.
The time in seconds within the current session.
Sequences a at the specified .
The time in seconds.
The audio source.
If is less than the current time, the will be played immediately.
If the number of audio sources currently playing exceeds , the will be discarded.
Audio sources can be sequenced even when the sequencer has been disposed, while it would not have any effect.
An that generates single tone.
The tone type.
The frequency of the wave.
The amplitude of the wave.
Tone type.
Sine wave.
Triangle wave.
Square wave.
The wave format.
The channel count.
The sample rate (samples per channel per second, i.e. frames per second.)
The sample format.
Bit count per sample.
The channel layout.
Determines whether the number of bits set in equals to .
Whether the number of bits set in equals to .
Assigns the default channel mask for the given channel count.
Whether a default channel mask is found.
Bytes per frame.
Bytes per second.
The default wave format.
Sample format.
Invalid sample format.
Unsigned 8-bit integer sample format.
Signed 16-bit integer sample format.
Signed 24-bit integer sample format.
Signed 32-bit integer sample format.
IEEE 754 single precision floating-point sample format.
IEEE 754 double precision floating-point sample format.