The BlitzMax audiosample module contains commands to create and load audio samples for use with the BlitzMax BRL.Audio module.
Types
editTAudioSample
editAudio sample type
- samples
- length
- hertz
- format
- Copy
- Convert
- Create
- CreateStatic
TAudioSample: Fields
editField samples:Byte Ptr
Description: Byte pointer to sample data
Field length
Description: Length, in samples, of the sample data
Field hertz
Description: Sample rate
Field format
Description: Sample format
TAudioSample: Methods
editMethod Copy:TAudioSample()
Description: Copy audio sample
Returns: A new audio sample object
Method Convert:TAudioSample( to_format )
Description: Convert audio sample
Returns: A new audio sample object in the specified format
TAudioSample: Functions
editFunction Create:TAudioSample( length,hertz,format )
Description: Create an audio sample
Returns: A new audio sample object
Function CreateStatic:TAudioSample( samples:Byte Ptr,length,hertz,format )
Description: Create a static audio sample
Returns: A new audio sample object that references an existing block of memory
TAudioSampleLoader
editAudio sample loader type
To create your own audio sample loaders, you should extend this type and provide a LoadAudioSample method. To add your audio sample loader to the system, simply create an instance of it using New.
- LoadAudioSample
TAudioSampleLoader: Methods
editMethod LoadAudioSample:TAudioSample( stream:TStream )
Description: Load an audio sample
Returns: A new audio sample object, or Null if sample could not be loaded
Information: Extending types must implement this method.
Functions
editCreateAudioSample
editFunction CreateAudioSample:TAudioSample( length,hertz,format )
Description: Create an audio sample
Returns: An audio sample object
Information: length is the number of samples to allocate for the sample. hertz is the frequency in samples per second (hz) the audio sample will be played. format should be one of:
Format | Description |
&SF_MONO8 | Mono unsigned 8 bit |
&SF_MONO16LE | Mono signed 16 bit little endian |
&SF_MONO16BE | Mono signed 16 bit big endian |
&SF_STEREO8 | Stereo unsigned 8 bit |
&SF_STEREO16LE | Stereo signed 16 bit little endian |
&SF_STEREO16BE | Stereo signed 16 bit big endian |
Example:
' createaudiosample.bmx Local sample:TAudioSample=CreateAudioSample( 32,11025,SF_MONO8 ) For Local k=0 Until 32 sample.samples[k]=Sin(k*360/32)*127.5+127.5 Next Local sound:TSound=LoadSound( sample,True ) PlaySound(sound) Input
CreateStaticAudioSample
editFunction CreateStaticAudioSample:TAudioSample( samples:Byte Ptr,length,hertz,format )
Description: Create an audio sample with existing data
Returns: An audio sample object that references an existing block of memory
Information: The memory referenced by a static audio sample is not released when the audio sample is deleted.
See CreateAudioSample for possile format values.
LoadAudioSample
editFunction LoadAudioSample:TAudioSample( url:Object )
Description: Load an audio sample
Returns: An audio sample object