BlitzMax/模块/音频/音频采样
BlitzMax 音频采样模块包含用于创建和加载音频采样的命令,这些音频采样可与 BlitzMax BRL.Audio 模块一起使用。
音频采样类型
- 采样
- 长度
- 赫兹
- 格式
- 复制
- 转换
- 创建
- 创建静态
字段采样:Byte Ptr
描述:指向采样数据的字节指针
字段长度
描述:采样数据的长度(以采样数为单位)
字段赫兹
描述:采样率
字段格式
描述:采样格式
方法Copy:TAudioSample()
描述:复制音频采样
返回:一个新的音频采样对象
方法Convert:TAudioSample(to_format)
描述:转换音频采样
返回:一个新的音频采样对象,使用指定的格式
函数Create:TAudioSample(length, hertz, format)
描述:创建一个音频采样
返回:一个新的音频采样对象
函数CreateStatic:TAudioSample(samples:Byte Ptr, length, hertz, format)
描述:创建一个静态音频采样
返回:一个新的音频采样对象,它引用现有的内存块
音频采样加载器类型
要创建自己的音频采样加载器,您应该扩展此类型并提供一个LoadAudioSample方法。要将您的音频采样加载器添加到系统中,只需使用New创建它的实例即可。
- LoadAudioSample
方法LoadAudioSample:TAudioSample(stream:TStream)
描述:加载一个音频采样
返回:一个新的音频采样对象,如果无法加载采样则返回Null
信息:扩展类型必须实现此方法。
函数CreateAudioSample:TAudioSample(length, hertz, format)
描述:创建一个音频采样
返回:一个音频采样对象
信息:length是为采样分配的采样数。hertz是音频采样播放时的每秒采样频率(hz)。format应该是以下之一:
格式 | 描述 |
&SF_MONO8 | 单声道无符号 8 位 |
&SF_MONO16LE | 单声道有符号 16 位小端 |
&SF_MONO16BE | 单声道有符号 16 位大端 |
&SF_STEREO8 | 立体声无符号 8 位 |
&SF_STEREO16LE | 立体声有符号 16 位小端 |
&SF_STEREO16BE | 立体声有符号 16 位大端 |
示例:
' 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:TAudioSample(samples:Byte Ptr, length, hertz, format)
描述:使用现有数据创建一个音频采样
返回:一个新的音频采样对象,它引用现有的内存块
信息:当音频采样被删除时,静态音频采样引用的内存不会被释放。
请参阅CreateAudioSample了解可能的format值。
函数LoadAudioSample:TAudioSample(url:Object)
描述:加载一个音频采样
返回:一个音频采样对象