Posted to tcl by GPS at Wed Sep 26 11:28:24 GMT 2007view raw

  1. set aobj [alsa]; $aobj write [ogg:decode $data]
  2.  
  3. The alternative interface:
  4.  
  5. fconfigure $sock -translation binary -blocking 0
  6. set aobj [alsa]; $aobj write [ogg:read-stream $sock 4096]
  7. fileevent $sock readable [list write-to-aobj $aobj]
  8.  
  9. Or:
  10.  
  11. set data [read a bunch of binary]
  12. set aobj [alsa];
  13.  
  14. proc audio-loop {aobj data} {
  15. audio-loop-next $aobj $data 0
  16. }
  17.  
  18. proc audio-loop-next {aobj data offset} {
  19. $obj write [string range $data $offset [set next [expr {$offset + 4096}]]]
  20. if {$next >= [string length $data]} {
  21. set next 0
  22. }
  23. after 60 [list audio-loop-next $aobj $data $next]
  24. }
  25. audio-loop $aobj $data
  26.