An AudioSource that takes a PositionableAudioSource and allows it to be played, stopped, started, etc. More...
Inherits PositionableAudioSource, and ChangeBroadcaster.
Public Member Functions | |
| AudioTransportSource () | |
| Creates an AudioTransportSource. | |
| ~AudioTransportSource () | |
| Destructor. | |
| void | setSource (PositionableAudioSource *newSource, int readAheadBufferSize=0, double sourceSampleRateToCorrectFor=0.0, int maxNumChannels=2) |
| Sets the reader that is being used as the input source. | |
| void | setPosition (double newPosition) |
| Changes the current playback position in the source stream. | |
| double | getCurrentPosition () const |
| Returns the position that the next data block will be read from. | |
| double | getLengthInSeconds () const |
| Returns the stream's length in seconds. | |
| bool | hasStreamFinished () const noexcept |
| Returns true if the player has stopped because its input stream ran out of data. | |
| void | start () |
| Starts playing (if a source has been selected). | |
| void | stop () |
| Stops playing. | |
| bool | isPlaying () const noexcept |
| Returns true if it's currently playing. | |
| void | setGain (float newGain) noexcept |
| Changes the gain to apply to the output. | |
| float | getGain () const noexcept |
| Returns the current gain setting. | |
| void | prepareToPlay (int samplesPerBlockExpected, double sampleRate) |
| Implementation of the AudioSource method. | |
| void | releaseResources () |
| Implementation of the AudioSource method. | |
| void | getNextAudioBlock (const AudioSourceChannelInfo &bufferToFill) |
| Implementation of the AudioSource method. | |
| void | setNextReadPosition (int64 newPosition) |
| Implements the PositionableAudioSource method. | |
| int64 | getNextReadPosition () const |
| Implements the PositionableAudioSource method. | |
| int64 | getTotalLength () const |
| Implements the PositionableAudioSource method. | |
| bool | isLooping () const |
| Implements the PositionableAudioSource method. | |
An AudioSource that takes a PositionableAudioSource and allows it to be played, stopped, started, etc.
This can also be told use a buffer and background thread to read ahead, and if can correct for different sample-rates.
You may want to use one of these along with an AudioSourcePlayer and AudioIODevice to control playback of an audio file.
| AudioTransportSource::AudioTransportSource | ( | ) |
Creates an AudioTransportSource.
After creating one of these, use the setSource() method to select an input source.
| AudioTransportSource::~AudioTransportSource | ( | ) |
Destructor.
| void AudioTransportSource::setSource | ( | PositionableAudioSource * | newSource, |
| int | readAheadBufferSize = 0, |
||
| double | sourceSampleRateToCorrectFor = 0.0, |
||
| int | maxNumChannels = 2 |
||
| ) |
Sets the reader that is being used as the input source.
This will stop playback, reset the position to 0 and change to the new reader.
The source passed in will not be deleted by this object, so must be managed by the caller.
| newSource | the new input source to use. This may be zero |
| readAheadBufferSize | a size of buffer to use for reading ahead. If this is zero, no reading ahead will be done; if it's greater than zero, a BufferingAudioSource will be used to do the reading-ahead |
| sourceSampleRateToCorrectFor | if this is non-zero, it specifies the sample rate of the source, and playback will be sample-rate adjusted to maintain playback at the correct pitch. If this is 0, no sample-rate adjustment will be performed |
| maxNumChannels | the maximum number of channels that may need to be played |
| void AudioTransportSource::setPosition | ( | double | newPosition ) |
Changes the current playback position in the source stream.
The next time the getNextAudioBlock() method is called, this is the time from which it'll read data.
| double AudioTransportSource::getCurrentPosition | ( | ) | const |
Returns the position that the next data block will be read from.
This is a time in seconds.
| double AudioTransportSource::getLengthInSeconds | ( | ) | const |
Returns the stream's length in seconds.
| bool AudioTransportSource::hasStreamFinished | ( | ) | const |
Returns true if the player has stopped because its input stream ran out of data.
| void AudioTransportSource::start | ( | ) |
Starts playing (if a source has been selected).
If it starts playing, this will send a message to any ChangeListeners that are registered with this object.
| void AudioTransportSource::stop | ( | ) |
Stops playing.
If it's actually playing, this will send a message to any ChangeListeners that are registered with this object.
| bool AudioTransportSource::isPlaying | ( | ) | const |
Returns true if it's currently playing.
| void AudioTransportSource::setGain | ( | float | newGain ) |
Changes the gain to apply to the output.
| newGain | a factor by which to multiply the outgoing samples, so 1.0 = 0dB, 0.5 = -6dB, 2.0 = 6dB, etc. |
| float AudioTransportSource::getGain | ( | ) | const |
Returns the current gain setting.
| void AudioTransportSource::prepareToPlay | ( | int | samplesPerBlockExpected, |
| double | sampleRate | ||
| ) | [virtual] |
Implementation of the AudioSource method.
Implements AudioSource.
| void AudioTransportSource::releaseResources | ( | ) | [virtual] |
Implementation of the AudioSource method.
Implements AudioSource.
| void AudioTransportSource::getNextAudioBlock | ( | const AudioSourceChannelInfo & | bufferToFill ) | [virtual] |
Implementation of the AudioSource method.
Implements AudioSource.
| void AudioTransportSource::setNextReadPosition | ( | int64 | newPosition ) | [virtual] |
Implements the PositionableAudioSource method.
Implements PositionableAudioSource.
| int64 AudioTransportSource::getNextReadPosition | ( | ) | const [virtual] |
Implements the PositionableAudioSource method.
Implements PositionableAudioSource.
| int64 AudioTransportSource::getTotalLength | ( | ) | const [virtual] |
Implements the PositionableAudioSource method.
Implements PositionableAudioSource.
| bool AudioTransportSource::isLooping | ( | ) | const [virtual] |
Implements the PositionableAudioSource method.
Implements PositionableAudioSource.