跳转到内容

BlitzMax/模块/音频/音频采样

来自维基教科书,开放的书籍,为开放的世界

BlitzMax 音频采样模块包含用于创建和加载音频采样的命令,这些音频采样可与 BlitzMax BRL.Audio 模块一起使用。

TAudioSample

[编辑 | 编辑源代码]

音频采样类型

字段
  • 采样
  • 长度
  • 赫兹
  • 格式
方法
  • 复制
  • 转换
函数
  • 创建
  • 创建静态

TAudioSample: 字段

[编辑 | 编辑源代码]
采样

字段采样:Byte Ptr

描述:指向采样数据的字节指针

长度

字段长度

描述:采样数据的长度(以采样数为单位)

赫兹

字段赫兹

描述:采样率

格式

字段格式

描述:采样格式

TAudioSample: 方法

[编辑 | 编辑源代码]
复制

方法Copy:TAudioSample()

描述:复制音频采样

返回:一个新的音频采样对象

转换

方法Convert:TAudioSample(to_format)

描述:转换音频采样

返回:一个新的音频采样对象,使用指定的格式

TAudioSample: 函数

[编辑 | 编辑源代码]
创建

函数Create:TAudioSample(length, hertz, format)

描述:创建一个音频采样

返回:一个新的音频采样对象

创建静态

函数CreateStatic:TAudioSample(samples:Byte Ptr, length, hertz, format)

描述:创建一个静态音频采样

返回:一个新的音频采样对象,它引用现有的内存块

TAudioSampleLoader

[编辑 | 编辑源代码]

音频采样加载器类型

要创建自己的音频采样加载器,您应该扩展此类型并提供一个LoadAudioSample方法。要将您的音频采样加载器添加到系统中,只需使用New创建它的实例即可。

方法
  • LoadAudioSample

TAudioSampleLoader: 方法

[编辑 | 编辑源代码]
LoadAudioSample

方法LoadAudioSample:TAudioSample(stream:TStream)

描述:加载一个音频采样

返回:一个新的音频采样对象,如果无法加载采样则返回Null

信息:扩展类型必须实现此方法。

CreateAudioSample

[编辑 | 编辑源代码]

函数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

[编辑 | 编辑源代码]

函数CreateStaticAudioSample:TAudioSample(samples:Byte Ptr, length, hertz, format)

描述:使用现有数据创建一个音频采样

返回:一个新的音频采样对象,它引用现有的内存块

信息:当音频采样被删除时,静态音频采样引用的内存不会被释放。

请参阅CreateAudioSample了解可能的format值。

LoadAudioSample

[编辑 | 编辑源代码]

函数LoadAudioSample:TAudioSample(url:Object)

描述:加载一个音频采样

返回:一个音频采样对象

华夏公益教科书