问题标签 [fmod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
612 浏览

android - Android fmod 在 android 2.1 上无法正常工作

我的游戏引擎正在使用 fmod 库来实现声音功能。在不同的 android 手机上测试项目后,我发现 fmod 在 android 2.2 及更高版本上正常工作,但在 android 2.1 上不正常。我观察到示例项目的清单文件提到最低 sdk 版本 8 (android 2.2)。我的客户希望游戏能够从 android 2.1 及更高版本运行。还有一个奇怪的观察,当我在 android 2.1 手机上安装和运行游戏时,我的应用程序会自动终止,但是当我在 android 2.1 模拟器上运行我的游戏时,我的游戏可以正常工作,除了声音被静音,即听不见。这是我在 android 2.1 硬件上运行时收到的错误消息:

FMOD错误!(48) 试图使用需要硬件支持的功能。(即尝试在 Wii 上的软件中播放 GCADPCM 压缩声音)。

请通过回答以下问题帮助我:

1> 真的 fmod 不能在 android 2.1 上运行吗?如果没有,你能建议如何运行它。

2> 声音在 android 2.1 及更高版本上工作的任何替代解决方案?

提前致谢。

0 投票
1 回答
130 浏览

c++ - 尽管有浮点运算,但仍能从 fmod 或类似结果中获得预期的结果

背景

考虑三个 doubles 的验证lowwidth并且high使得以下三个规则成立:

  1. low < high;
  2. width > 0; 和
  3. width完全符合(high - low)“完全”的次数。

本质上,这三个值应该指定一个范围,该范围将被分成一定数量的箱,每个箱的宽度“完全”相等,范围的任何部分都没有下落不明。

例如:

(A low = -0.5 )width = 0.005high = 0.5

将指定一个具有有效bin 宽度的范围,因为可以创建“正好”200 个完整的 bin,而

(B low = -0.5 )width = 0.275high = 0.5

将指定一个具有无效bin 宽度的范围,因为可以创建 3 个完整的 bin,但这些 bin 不覆盖该范围的一部分。

问题

考虑到双精度数的浮点性质,处理第三个验证规则的最佳方法是什么?

我的第一次天真的尝试包括:

fmod( high - low, width ) == 0.0

但不幸的是 fmod 返回 0.005 例如(A) - 我的调试器告诉我 0.005 的双倍实际上持有0.0050000000000000001.

我是否应该自创自己的解决方案来包括公差,还是有更优雅的解决方案来解决这个问题?

这是我目前拥有的:

注意公差默认值的完全和绝对任意性......

0 投票
1 回答
2600 浏览

android-ndk - 纯粹从本机代码加载 FMOD

我在 FMOD 示例文件夹中找到了一个名为 nativeactivity 的示例,但不幸的是它使用了一些 java 代码:

Android.mk 看起来像这样:

没有java部分可以吗?如果是这样,我需要改变什么?

0 投票
2 回答
871 浏览

iphone - FMOD_OUTPUTTYPE_WAVWRITER FMOD 错误!(23) 找不到文件

我正在使用FMOD对音频文件添加效果。

这是我的代码

FMOD error! (23) File not found. 添加时出现此错误FMOD_OUTPUTTYPE_WAVWRITER

请帮我

0 投票
1 回答
783 浏览

android - FMOD如何在android中使用mp3文件名作为参数加载mp3文件

我在加载 mp3 文件时遇到问题。当我将 char 数组或 jstring 参数提供给 android java 本机方法时,c 源文件不起作用。

可能路径参数无法正常工作。它出什么问题了?

请回答我的问题。

主程序


void Java_com_chocolate_player_PlayerMain_cPlaySound(JNIEnv env, jobject thiz, const char path) { FMOD_RESULT 结果 = FMOD_OK;

}

安卓java源码


在播放方法... char[] fmodPath = songPath.replace("/mnt", "").toCharArray(); cPlaySound(fmodPath);

本地方法 ... public native void cPlaySound(char[] path);

0 投票
1 回答
599 浏览

c - FMOD如何在C中使用DSP getParameter函数?

我正在使用 FMOD。如何在 C 中使用 DSP getParameter 函数?当我使用跟随的代码时,程序关闭。我不知道我的代码有什么问题。当然,我已经实现了 DSP setParameter 功能。现在我在 getParameter 函数上遇到了麻烦。如果有人知道这个问题,请给我一个提示。

这是我之前尝试过的代码:

0 投票
3 回答
359 浏览

iphone - 在 Objective-C 中使用数组试图简化大量重复代码

你好 StackOverflow 大师。这是我在这里的第一个问题,所以我很高兴能直接加入。

我试图更好地理解 iOS 数组,但我遇到了障碍。我正在制作一个使用 FMOD 的声音应用程序。我的一切工作正常,但我有 9 个按钮,它们的功能几乎完全相同,只是每个按钮在按下时播放不同的 .wav 文件,然后在释放时停止声音。我想将它放入一个数组中并简化和缩短我的代码,这就是我迷路的地方。我剥离了代码以显示我目前正在做的事情。有任何想法吗?

。H

米。

如您所见,所有代码都是重复的。这是我能够让它工作的唯一方法,但我知道这些可以放入一个数组中,我就是想不通。可能是一个 NSMutableArray 并列出“sound1”、“sound2”等。然后在界面生成器中为每个按钮分配一个标签?理想情况下,我想要一个用于 stopSound 的函数,一个用于 playSound 等,它使用标签来播放或停止正确的声音文件。使用 FMOD 的 system->createSound() 时,最后一个参数是一个变量,用于存储新创建的声音。有没有办法将其存储在数组或字典中?如果是这样,我无法弄清楚。

任何建议都将不胜感激。我很想不要再为这个简单的问题头疼了。

谢谢!

0 投票
1 回答
1027 浏览

iphone - FMOD 和简单的 If 语句

我有一组简单的 FMOD 动作,每个动作分别播放各种声音。问题在于我有一个停止所有声音的按钮。如果我们尝试停止未播放的声音,FMOD 会使我的程序崩溃。说得通。但是我已经决定必须有一种方法可以调用一个简单的 if 语句来找出“如果”并且只有“如果”某些东西正在播放,然后停止它。

任何帮助,将不胜感激。

0 投票
2 回答
331 浏览

iphone - FMOD 停止或重置 DSP?

我有一个关于在 FMOD 中停止 DSP 的问题。我有一个按钮,我想阻止我的 DSP 被启用。

有任何想法吗?我查看了文档 - 但它对我不起作用。他将不胜感激任何帮助!

0 投票
1 回答
342 浏览

c - 将立体声流拆分为两个单声道流

我已经使用 Fmod (c/c++) 几天了,我想知道是否有办法将单个立体声流(左/右)拆分为两个单声道流,从而将它们放在两个通道中而不是一个通道中(为了有两个单独的卷和平底锅)?谢谢 !