DarkHUNTER, а для чего он тогда подходит?
пример из HiAsmelementsdelphiexampleMediaBASS, немного изменённый.
Add(Button,13708268,-167,77) { Left=10 Top=10 Caption="Record" link(onClick,4703291:doEvent1,[]) } Add(Button,14140950,-167,126) { Left=75 Top=10 Caption="Stop" link(onClick,16687282:doEvent1,[]) } Add(BASS_RecordStart,5066922,-48,77) { Freq=44100 Channels=2 Mode=1 Name="mainrec" link(onData,4077663:doDetect,[]) } Add(BASS_Version,10183901,-34,231) { link(onCheckOk,12302345:doInit,[]) link(onCheckFailed,109118:doMessage,[(10,244)(10,286)]) } Add(Message,11232751,-34,280) { Message="Error BASS initialization" Caption="Error" Icon=1 } Add(Message,109118,22,280) { Message="Incorrect version of BASS library " Caption="Error" Icon=1 } Add(MainForm,16358250,-167,217) { Width=581 Height=417 Caption="BASS record inputs demo" Point(Handle) link(onCreate,4252681:doInit,[]) } Add(BASS_Init,4252681,-90,231) { link(onInit,10183901:doCheck,[]) link(onError,11232751:doMessage,[(-46,244)(-46,286)]) link(Handle,16358250:Handle,[(-70,219)(-116,219)(-116,261)(-161,261)]) } Add(BASS_RecordCenter,12302345,22,231) { link(onInit,15862958:doEnumInputs,[]) link(onError,11713735:doMessage,[(66,244)(66,286)]) } Add(Message,11713735,78,280) { Message="InitRecord failed!" Caption="Error" Icon=1 } Add(PaintBox,8758719,225,280) { Left=10 Top=40 Width=360 Height=120 link(onBeforeDraw,5631139:doDraw,[]) } Add(BASS_ChannelVisibleSpectrum,5631139,281,280) { SoundStream="mainrec" Mode=1 link(WindowsHandle,8758719:Bitmap,[(287,268)(259,268)(259,324)(231,324)]) } Add(Timer,5820169,176,280) { Interval=10 link(onTimer,8758719:doRefresh,[]) } Add(BASS_RecordInput,15862958,78,231) { link(onEnumInputs,14934018:doEvent1,[]) } Add(ChildPanelEx,11572707,225,231) { Mode=1 } BEGIN_SDK Add(EditMultiEx,15548015,21,21) { WorkCount=#5:##add| Width=608 Height=228 Point(##add) link(##add,4584490:doGet,[(105,27)(105,181)]) } Add(Panel,8363783,567,98) { Left=25 Top=165 Width=329 Height=26 Point(doTop) } Add(CheckBox,11557791,378,112) { Left=240 Top=5 Width=75 Height=15 Caption="on" Point(doCaption) Point(onClick) link(onClick,10832955:doWork2,[]) } Add(ScrollBar,903568,378,56) { Left=5 Top=5 Width=220 link(onPosition,14509023:doOperation,[]) } Add(MT_Get,4584490,189,175) { link(onData,14133430:doGet,[(229,181)(229,153)]) link(onGet,11557791:doCaption,[(358,188)(358,125)]) } Add(MT_Get,14133430,238,147) { link(onData,16133573:doGet,[(278,153)(278,111)]) link(onGet,16264771:doOperation,[]) } Add(MT_Get,16133573,287,105) { link(onData,4613851:doValue,[]) link(onGet,11557791:doCheck,[]) } Add(Math,16264771,287,154) { OpType=2 Op2=100 ResultType=0 link(onResult,903568:doPosition,[(348,160)(348,62)]) } Add(MathParse,12046249,504,105) { DataCount=1 MathStr="165 + %1*28" link(onResult,8363783:doTop,[]) } Add(BASS_InputControl,9998094,441,189) { link(Index,4613851:Value,[]) link(Volume,14509023:Result,[]) link(State,11557791:Checked,[(461,167)(384,167)]) } Add(Math,14509023,448,56) { OpType=3 Op2=100 Default=-1 link(onResult,10832955:doWork1,[(492,62)(492,91)(424,91)]) } Add(Memory,4613851,441,105) { link(onData,12046249:doCalc,[]) } Add(HubEx,10832955,420,112) { Angle=1 link(onEvent,9998094:doSetInput,[(424,195)]) } END_SDK Add(Counter,188776,176,182) { } Add(MT_Add,4962988,176,231) { link(onAdd,11572707:##add,[]) link(Data,188776:Count,[]) } Add(Hub,14934018,127,231) { link(onEvent1,4962988:doAdd,[]) link(onEvent2,188776:doNext,[(167,244)(167,188)]) } Add(BASS_RecordStart,7743591,-48,140) { FileName="111.wav" Freq=44100 Channels=2 Name="mainrec" } Add(Hub,4703291,-125,77) { link(onEvent1,5066922:doStart,[]) link(onEvent2,7743591:doStart,[(-89,90)(-89,146)]) } Add(Hub,16687282,-125,126) { link(onEvent1,5066922:doStop,[(-83,132)(-83,90)]) link(onEvent2,7743591:doStop,[(-99,139)(-99,153)]) } Add(InfoTip,8671781,-69,42) { Info=#14:Данные в поток| Width=106 Height=74 } Add(InfoTip,12654415,-69,119) { Info=#13:Данные в файл| Width=106 Height=67 } Add(VolumeDetector,4077663,64,84) { DetectLength=3 Delay=0 Point(doDetectLevel) Point(doDetectLength) Point(doDelay) link(onDetect,16532858:doSumm,[]) } Add(VolumeSummator,16532858,106,84) { Level=20 link(onResult,4014425:doAdd,[]) } Add(Grapher,4014425,148,84) { Left=375 Top=40 Width=195 Height=120 Color=0 MaxH=0 MaxValues=100 LeftMargin=0 RightMargin=0 TopMargin=0 BottomMargin=0 PenColor=65280 }
|