コードを載せます
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 とか
とりあへず こんなところで