标签: fmod

FMod记忆流问题

编辑:嗯......这很有趣.我将设置设置为指针并传递给它.工作得很漂亮.所以,这就解决了.对于那些对答案好奇的人,我会保持开放.

我在从内存流中在FMod中创建声音时遇到问题.我查看了FMod附带的loadfrommemory示例,然后进行了操作.首先,我正在使用的代码......

CSFX::CSFX(CFileData *fileData)
{
FMOD_RESULT result;
FMOD_CREATESOUNDEXINFO settings;
settings.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);
settings.length = fileData->getSize();
_Sound = 0;
std::string temp = "";

for (int i = 0; i < fileData->getSize(); i++)
    temp += fileData->getData()[i];

result = tempSys->createSound(temp.c_str(), FMOD_SOFTWARE | FMOD_OPENMEMORY, &settings,        &_Sound);
}
Run Code Online (Sandbox Code Playgroud)

就像这样,我在tempSys-> createSound()上遇到访问冲突.我已经确认tempSys有效,因为它在从文件创建声音时起作用.我还通过将内容写入文件来确认我的数据的char*是有效的,然后我可以在Media Player中打开该文件.我觉得设置有问题.如果我将该参数更改为0,程序不会爆炸,我最终得到结果= FMOD_ERR_INVALID_HANDLE(考虑到第3个参数为0,这是有意义的).知道我做错了什么吗?

另外,请忽略std :: string的使用,我将其用于某些测试目的.

c++ access-violation fmod

5
推荐指数
1
解决办法
1610
查看次数

fmod 函数 C++ 的输出

鉴于:

#include <iostream>
#include <cmath>
#include <limits>
using namespace std;

int main() {
    // your code goes here
    double h = .1;
    double x = 1;
    int nSteps = abs(x / h);

    double rem = fmod(x, h);
    cout<<"fmod output is "<<rem<<endl;
    if(abs(rem)<std::numeric_limits<double>::epsilon())
        cout<<"fmod output is almost near 0"<<endl;

    rem = remainder(x,h);
    cout<<"remainder output is "<<rem<<endl;
    if(abs(rem)<std::numeric_limits<double>::epsilon())
        cout<<"remainder output is almost near 0"<<endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

鉴于int(x/h) == 10,我本来希望fmod()结果接近 0,但我得到的是 .0999999999。这是一个显着的差异。余数()的结果似乎仍然可以接受。可以在http://ideone.com/9wBlva尝试代码

为什么 fmod() 结果存在显着差异?

c++ floating-point fmod

5
推荐指数
1
解决办法
2097
查看次数

是否有任何数字可以对浮点数进行快速模计算?

我知道对于无符号整数,如果除数是 2 的幂,我可以用位掩码替换模运算。对于浮点数,是否有任何数字具有类似的属性?也就是说,是否有任何数字n可以f mod n比一般情况更有效地计算,而不必使用位掩码?

当然,除了一个。 脑部衰竭

编辑:澄清一下,f是任何浮点数(在运行时确定), n是任何格式的任何编译时常量,我希望结果是浮点数。

c floating-point modulo fmod

5
推荐指数
2
解决办法
959
查看次数

无法在 Unity 中的音频源中添加音频剪辑

我在 Unity Scene 中添加了音频源组件,但无法在其中添加音频剪辑。它抛出以下错误:

Errors during import of AudioClip Assets/sound1.ogg:
FSBTool ERROR: The format of the source file is invalid, see output for details.
FSBTool ERROR: Internal error from FMOD sub-system.

UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Run Code Online (Sandbox Code Playgroud)

我正在使用 Unity 版本 2019.3.14f1。我尝试了不同的声源格式(mp3 和 wav),但它产生了相同的错误。如何解决这个问题?

unity-game-engine fmod

5
推荐指数
0
解决办法
1744
查看次数

FMOD在iOS平台上比Apple的音频API有什么好处?

我听说FMOD是桌面应用程序(如游戏)中最受欢迎的音频引擎之一.我已经阅读了它的文档,但我感觉不到它们比Apple的音频单元的API有任何好处.它具有许多强大的功能,但它在iPhone等移动设备上看起来并不可用,因为处理能力太弱.

然而,这可能是由于我的浅薄知识和经验造成的.我可以使用什么功能(或属性)来计算FMOD的好处而不是Apple的API?(不仅是FMOD,还有其他声音系统,如果你知道的话)

audio system fmod ios

4
推荐指数
1
解决办法
4285
查看次数

架构i386的重复符号错误

我尝试构建时遇到此错误:

"重复符号__Z8ERRCHECK11FMOD_RESULT:

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewController.o

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewControllerIpad.o
Run Code Online (Sandbox Code Playgroud)

ld:1个用于体系结构i386 clang的重复符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)

怎么解决这个家伙?

iphone objective-c fmod ipad ios

4
推荐指数
2
解决办法
2万
查看次数

如果它不是8的倍数,则用0填充向量

如果不是8字节的倍数,我如何填充0的向量?在下面的代码中,我计算出偏移量并添加到向量中以确保它总是有8个值.我想用0来填充它,我想知道什么是最有效的方法.

例如:

输入:4444

填充: 4444000000000000

我到目前为止的代码是:

if ((vector1.size() % 8) != 0)
{
  for (std::vector<unsigned char>::iterator itr = vector1.begin(); itr != vector1.end(); itr ++)
  {
    vector1.push_back(fmod(vector1.size(), 8));

    if(vector1.size() == 8)
      break;
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ vector padding fmod c++11

4
推荐指数
2
解决办法
1558
查看次数

FMOD编译麻烦

我正在尝试开始使用FMOD,但我在编写本教程中的示例代码时遇到了一些问题:

http://www.gamedev.net/reference/articles/article2098.asp

我正在使用MinGW,我将libfmodex.a文件放在MinGW的include文件夹中(我也尝试直接链接到文件名),但它不起作用.这是输出.

C:\>g++ -o test1.exe test1.cpp -lfmodex
test1.cpp:4:1: error: 'FSOUND_SAMPLE' does not name a type
test1.cpp: In function 'int main()':
test1.cpp:9:29: error: 'FSOUND_Init' was not declared in this scope
test1.cpp:12:4: error: 'handle' was not declared in this scope
test1.cpp:12:53: error: 'FSOUND_Sample_Load' was not declared in this scope
test1.cpp:13:30: error: 'FSOUND_PlaySound' was not declared in this scope
test1.cpp:21:30: error: 'FSOUND_Sample_Free' was not declared in this scope
test1.cpp:22:17: error: 'FSOUND_Close' was not declared in this scope
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的特定示例:

#include <conio.h>
#include "inc/fmod.h" …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction fmod

3
推荐指数
1
解决办法
3131
查看次数

FMOD中的简单声音播放

我开始使用FMOD API,我有声音播放的问题.我使用过这个网站的教程:http://glasnost.itcarlow.ie/~powerk/audio/AddFMODtoaproject.html,只觉得我的声音很破解.

这是我在OpenGL初始化函数中使用的代码:

FMOD::System_Create(&system);// create an instance of the game engine
system->init(32, FMOD_INIT_NORMAL, 0);

system->createSound("sound.wav", FMOD_HARDWARE, 0, &sound1);
sound1->setMode(FMOD_LOOP_OFF);

system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0);
Run Code Online (Sandbox Code Playgroud)

有谁知道什么是错的?或者也许还有另一种方式.

c++ audio fmod

3
推荐指数
1
解决办法
1万
查看次数

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

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

我试图更好地理解iOS数组,我已经碰到了一堵砖墙.我正在制作一个使用FMOD的声音应用.我有一切工作完美,但我有9个按钮,所有都执行几乎完全相同的事情,除了每个按下播放不同的.wav文件然后发布停止声音.我想将它放入一个数组中,简化并缩短我的代码,这就是我迷失的地方.我删除了代码以显示我目前正在进行的操作.有任何想法吗?

.H

@interface {

FMOD::Sound    *sound1;
FMOD::Sound    *sound2;
FMOD::Sound    *sound3;
FMOD::Sound    *sound4;
FMOD::Sound    *sound5;
FMOD::Sound    *sound6;
FMOD::Sound    *sound7;
FMOD::Sound    *sound8;
FMOD::Sound    *sound9;

}

- (IBAction)playSound1:(id)sender;
- (IBAction)stopSound1:(id)sender;
- (IBAction)playSound2:(id)sender;
- (IBAction)stopSound2:(id)sender;
- (IBAction)playSound3:(id)sender;
- (IBAction)stopSound3:(id)sender;
- (IBAction)playSound4:(id)sender;
- (IBAction)stopSound4:(id)sender;
- (IBAction)playSound5:(id)sender;
- (IBAction)stopSound5:(id)sender;
- (IBAction)playSound6:(id)sender;
- (IBAction)stopSound6:(id)sender;
- (IBAction)playSound7:(id)sender;
- (IBAction)stopSound7:(id)sender;
- (IBAction)playSound8:(id)sender;
- (IBAction)stopSound8:(id)sender;
- (IBAction)playSound9:(id)sender;
- (IBAction)stopSound9:(id)sender;
Run Code Online (Sandbox Code Playgroud)

- (void)viewWillAppear:(BOOL)animated {

[[NSString stringWithFormat:@"%@/sound1.wav", [[NSBundle mainBundle] resourcePath]] getCString:buffer maxLength:200 encoding:NSASCIIStringEncoding];
    result = system->createSound(buffer, FMOD_SOFTWARE | FMOD_LOOP_NORMAL, NULL, &sound1); …
Run Code Online (Sandbox Code Playgroud)

arrays iphone objective-c fmod ios

2
推荐指数
1
解决办法
348
查看次数