0

我正在尝试使用 fmodex 4.30.03 在 Mono/Ubuntu 下播放 MP3 文件。

我对 createSound() 的调用如下所示:

result = system.createSound(path, 
    (FMOD.MODE._2D | FMOD.MODE.HARDWARE | FMOD.MODE.CREATESTREAM), 
    ref sound);

根据 SDK 附带的 C# 示例。

result正在设置为 19 ERR_FILE_BAD,.

同样的事情在 Windows 下也能正常工作。我在 app.config 中有以下内容:

<dllmap os="linux" dll="fmodex" target="./libfmodex-4.30.03.so"/>

如果这不存在,fmodex 甚至永远不会被加载,所以我知道它已经到了这么远。

我传入的文件肯定存在,但如果我传递无效路径,我实际上会收到相同的错误消息。

4

1 回答 1

2

我假设你设法让 FMOD 系统初始化和一切。C# 包装器将字符串作为 unicode 传递给 FMOD,以便在 Linux 上 FMOD 不支持 createSound。要解决此问题,您需要更改 C# 包装器,删除传入的 FMOD_UNICODE 标志并确保输入 FMOD 的字符串是正常的 ASCII。

于 2010-07-26T13:35:38.270 回答