RosettaCodeData/Task/Record-sound/OCaml/record-sound.ocaml
2023-07-01 13:44:08 -04:00

21 lines
413 B
Text

#load "unix.cma"
let record bytes =
let buf = String.make bytes '\000' in
let ic = open_in "/dev/dsp" in
let chunk = 4096 in
for i = 0 to pred (bytes / chunk) do
ignore (input ic buf (i * chunk) chunk)
done;
close_in ic;
(buf)
let play buf len =
let oc = open_out "/dev/dsp" in
output_string oc buf;
close_out oc
let () =
let bytes = 65536 in
let p = record bytes in
play p bytes