Snemanje zvokov iz okolice


to snemanje
   windowcreate "root "okno [Snemanje zvokov iz okolice] 0 0 200 58 []
   groupboxcreate "okno "g1 5 2 117 38
   staticcreate "okno "s1 [Snemanje:] 10 11 40 10
   staticcreate "okno "s2 [Predvajanje:] 10 25 40 10
   buttoncreate "okno "b1 [Začni] 55 10 60 12 [snemaj]
   buttoncreate "okno "b2 [Začni] 55 24 60 12 [predvajaj]
   buttoncreate "okno "b3 [Shrani] 130 10 60 12 [shrani]
   buttoncreate "okno "b4 [Končaj] 130 24 60 12 [končaj]
   make "snemam "false
   make "predvajam "false
   show mci [open new type waveaudio alias wav]
end

to snemaj
   if :predvajam [messagebox "Napaka [Najprej ustavi predvajanje!] stop]
   ifelse :snemam [ustavi] [
      make "snemam "true
      buttonupdate "b1 [Ustavi]
      mci [seek wav to start]
      mci [delete wav wait]
      mci [record wav]
   ]
end

to predvajaj
   if :snemam [massagebox "Napaka [Najprej končaj s snemanjem!] stop]
   ifelse :predvajam [ustavi] [
      make "predvajam "true
      buttonupdate "b2 [Ustavi]
      mci [seek wav to start]
      (mci [play wav notify] [ustavi])
   ]
end

to ustavi
   mci [stop wav wait]
   buttonupdate "b1 [Začni]
   buttonupdate "b2 [Začni]
   make "snemam "false
   make "predvajam "false
end

to shrani
   local "datoteka
   make "datoteka dialogfilesave "c:\\*.wav
   if not emptyp :datoteka [mci (sentence [save wav] first :datoteka [wait])]
end

to končaj
   if or :snemam :predvajam [ustavi]
   mci [close wav wait]
   windowdelete "okno
end