Nimで音を再生する方法(Mac)


まずは以下のように実行します。

cd github # 任意のディレクトリで良い
git clone https://github.com/bkaradzic/genie
cd genie
make

fish の場合は以下のようにパスを通します。

cd github
set -x PATH $HOME/github/genie/bin/darwin $PATH
git clone https://github.com/jarikomppa/soloud.git
cd soloud
cd build
genie xcode10
cd xcode10
open SoLoud.xcworkspace

AudioToolboxを追加する必要があります。

ビルドして作成したlibsoloud.dylibを/usr/local/libにコピーする

cp ../../lib/libsoloud.dylib /usr/local/lib 
sample.nim
import solouddotnim, times, os

var i, spin = 0

var sl : ptr Soloud

sl = Soloud_create()

discard Soloud_init(sl)

Soloud_setGlobalVolume(sl, 1)


var stream = WavStream_create()
discard WavStream_load(cast[ptr Wav](stream), "test.ogg")

let currentTime = epochTime()
let length = WavStream_getLength(stream)
discard Soloud_play(cast[ptr Soloud](sl), cast[ptr Wav](stream))

while epochTime() - currentTime <= length:
  sleep(100)

Soloud_deinit(sl)

Soloud_destroy(sl)

このページのコードのままです。
https://github.com/zacharycarter/soloud-nim/blob/master/examples/00-ogg/Example00_ogg.nim

test.oggを手持ちのmp3に変えて再生することもできます。しかし、必ず標準ターミナルで実行して下さい。
VSCODEでは再生されません。

参考