使用pulse-simple包,我编写了以下代码:
main=do
s<-simpleNew Nothing "example" Record Nothing "this is an example application"
(SampleSpec (F32 LittleEndian) 44100 1) Nothing Nothing
xs<-simpleRead s $ 44100*10 :: IO [Float]
simpleFree s
play xs
play :: [Float] -> IO ()
play d = do
s<-simpleNew Nothing "example" Play Nothing "this is an example application"
(SampleSpec (F32 LittleEndian) 44100 1) Nothing Nothing
simpleWrite s d
simpleDrain s
simpleFree s
这可以工作并记录 10 秒的音频,然后播放。
我现在想编码并保存音频文件(作为 .wav rr 无论如何),以便它可以在另一个程序中播放或转换。我认为这更像是一个音频问题,所以对于非 Haskell 的人来说,我基本上有一个 44100*10 长的浮点数组。我怀疑我需要一些其他的图书馆。
提前致谢。