Haskell で 音ファイルを再生する

コードを載せます

module Main (main) where

import qualified SDL
import SDL.Mixer 

main :: IO ()
main = do
  SDL.initialize [SDL.InitAudio]
  withAudio defaultAudio 4096 $ do
    load "test.mp3" >>= play
    SDL.delay 1000 
    SDL.quit

私は stack を使って sdlを入れてゐます
ちなみに 前に SDLのインストールについて書いたんだけど あんなことしなくても使えることが後で分かった

stack new projectName で projectName といふ名前のフォルダを作り
その中に入ってゐる package.yaml の dependencies: の部分に

dependencies:
- base >= 4.7 && < 5
- sdl2
- sdl2-mixer

といふ感じで sdl2 と sdl2-mixer を書き加へ
app フォルダの中にある Main.hs を 最初に載せたコードみたいにして

再生したいファイル(ここでは test.mp3)を projectNameフォルダの中に置いてから

stack run

とすれば いろいろインストールされて
エラーが出なければ たぶん音が出る筈

SDL のライブラリが OSにインストールされてゐる必要があって さうでないとエラーが出ると思ふ
debialnOSであれば libsdl2-dev とか libsdl2-mixer-dev とか

とりあへず こんなところで