音頻的例子

打開音頻的裝置

    過程fill_audio udata:指針;溪流:PUint8;len:整數;

想要:TSDL_AudioSpec;
開始
//設定音頻的格式
wanted.freq:=22050;
wanted.format:=AUDIO_S16;
wanted.channels:=2;//1=單聲道放音,2=立體聲系統
wanted.samples:=1024;為產品回修通知//好的低潛伏價值
wanted.callback:=fill_audio;
wanted.userdata:=;

//打開音頻的裝置憑藉武力前進渴望格式是
如果(SDL_OpenAudio((@wanted,零)<0)那時
開始
MessageBox 0,PChar格式化Couldn t開放SDL音頻信號:%s'[,SDL_GetError'],錯誤,MB_OK或者MB_ICONHAND;
出口;
末端;
末端;

玩音頻的

 
audio_chunk:PUint8;
audio_len:Uint32;
audoi_pos:PUint8;

*產品回修通知採取下列的參數的音頻的功能:
溪流:一指向被填補音頻的緩衝記憶體的指針
len:(在位元組)中音頻的緩衝記憶體的長度
*
過程fill_audio udata:指針;溪流:PUint8;len:整數;
開始
如果我們讓資料左邊,//僅演奏
如果(audio_len=0)那時
出口;

//混合儘可能多的資料
如果那時(len>audio_len)
len:=audio_len;
SDL_MixAudio((溪流,audio_pos,len,SDL_MIX_MAXVOLUME);
inc((audio_pos,len);
十二月((audio_len,len);
末端;

//裝載音頻的資料

..

audio_pos:=audio_chunk;

//讓產品回修通知功能玩音頻的厚片
SDL_PauseAudio((0);

//做一些處理

..

為完整聲音//等待
(audio_len>0)的同時
開始
SDL_Delay((100);//睡眠1/10秒
末端;
SDL_CloseAudio;