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)
描述:載入一個音訊取樣
返回:一個音訊取樣物件