gpt4 book ai didi

macos - 在 OSX 上的 Nim 中播放 .wav 文件的简单方法是什么?

转载 作者:行者123 更新时间:2023-12-02 08:29:24 24 4
gpt4 key购买 nike

我正在尝试在一个看起来像这样的非常简单的程序中播放 wav 文件,目前正在尝试使用 nim-csfml :

import csfml_audio

var alarmsong = newMusic("alarm.wav")
alarmsong.play()

但它似乎依赖于 libcs​​fml.audio 的存在,虽然我的程序编译得很好,但当我尝试实际运行它时出现错误

| => ./alarm
could not load: libcsfml-audio.so

(我有一个 libcs​​fml-audio.dylib,因为我为 csfml/sfml 使用了 OSX 共享库)

有没有其他方法可以在Nim 中播放.wav 文件?


编辑 1:

在@def- 发布 PR 之后,我现在得到了一个不同的、稍微更令人欣慰的错误,这可能是由于对 nim 如何处理共享库的理解不足:

| => ./alarm
could not load: libcsfml-audio.dylib

我将 path = "/usr/local/lib" 添加到我的 nim.cfg 文件中,但似乎没有任何影响。我还导出了 $LD_LIBRARY_PATH="/usr/local/lib" (/usr/local/binlibcs​​fml-audio.dylib 所在的位置.), 并尝试编译通过

nim c alarm.nim --clib:/usr/local/lib/libcsfml-audio.dylib

感谢您的帮助!

最佳答案

这个程序会立即退出;你需要在声音播放时让它保持活力。将此附加到程序中:

import csfml_system

while alarmsong.status == SoundStatus.Playing:
sleep 100.milliseconds

关于macos - 在 OSX 上的 Nim 中播放 .wav 文件的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com