- sfPtrsfSoundStream* sfPtr; 
- Undocumented in source. 
- ~this~this() 
- Undocumented in source. 
- initializevoid initialize(uint channelCount, uint sampleRate) 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- pitchfloat pitch [@property setter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- pitchfloat pitch [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- volumefloat volume [@property setter] 
- volumefloat volume [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- positionVector3f position [@property setter] 
- The 3D position of the sound in the audio scene. 
- positionVector3f position [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- isLoopingbool isLooping [@property setter] 
- Whether or not the stream should loop after reaching the end. 
- isLoopingbool isLooping [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- playingOffsetTime playingOffset [@property setter] 
- The current playing position (from the beginning) of the stream. 
- playingOffsetTime playingOffset [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- relativeToListenerbool relativeToListener [@property setter] 
- Make the sound's position relative to the listener (true) or absolute (false). 
- relativeToListenerbool relativeToListener [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- minDistancefloat minDistance [@property setter] 
- The minimum distance of the sound. 
- minDistancefloat minDistance [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- attenuationfloat attenuation [@property setter] 
- The attenuation factor of the sound. 
- attenuationfloat attenuation [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- channelCountuint channelCount [@property getter] 
- The number of channels of the stream. 
- sampleRateuint sampleRate [@property getter] 
- The stream sample rate of the stream 
- statusStatus status [@property getter] 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- playvoid play() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- pausevoid pause() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- stopvoid stop() 
- Undocumented in source. Be warned that the author may not have intended to support it. 
- onGetDatabool onGetData(const(short)[] samples) 
- Undocumented in source. 
- onSeekvoid onSeek(Time timeOffset) 
- Undocumented in source. 
Streamed music played from an audio file.
Musics are sounds that are streamed rather than completely loaded in memory.
This is especially useful for compressed musics that usually take hundreds of MB when they are uncompressed: by streaming it instead of loading it entirely, you avoid saturating the memory and have almost no loading delay.
Apart from that, a Music has almost the same features as the SoundBuffer / Sound pair: you can play/pause/stop it, request its parameters (channels, sample rate), change the way it is played (pitch, volume, 3D position, ...), etc.
As a sound stream, a music is played in its own thread in order not to block the rest of the program. This means that you can leave the music alone after calling play(), it will manage itself very well.