0

関数で FMOD を使用してサウンドを聴きたい..前に、他のすべてのサウンドを聞くことができると言いたいのですが、それらは関数で使用されていません。

ここにコードの抜粋があります:

header.h

void leson(FMOD_SOUND *caisse);

そして今コード:

#include <fmod.h>

FMOD_SYSTEM *system;
FMOD_SOUND *caisse;
FMOD_RESULT resultat8;
FMOD_System_Create(&system);
FMOD_System_Init(system, 1, FMOD_INIT_NORMAL, NULL);



resultat8 = FMOD_System_CreateSound(system, "sound/caisse.wav", FMOD_CREATESAMPLE, 0, &caisse);
if (resultat8 != FMOD_OK)
{
    fprintf(stderr, "error");
    exit(EXIT_FAILURE);
}

キー V を使用して関数 leson() を呼び出したい

            switch(event.type)
            {

                    case SDL_KEYDOWN:
                    switch(event.key.keysym.sym)
                            {

                                case SDLK_v:
                                leson(&caisse);
                                break;

ここにレッスンがあります()

void leson(FMOD_SOUND *caisse)

{
FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, caisse, 0, NULL);
fprintf(stderr, "test");

}

V を押すと、ファイル stderr に回線テストが含まれているため、スイッチは問題ありませんが、なぜこの音が聞こえないのですか?

4

1 に答える 1

0

一見、鳴っているはずの音に見えます。このエラーをすばやく把握するには、エラー チェックを修正する必要があります。FMOD_System_CreateSound で行ったように、resultat8 を各 FMOD 関数に等しく設定し、

if(resultat8 != FMOD_OK) 
{
  printf("%s", FMOD_ErrorString(resultat8));
}

各 FMOD 関数呼び出しの後。これにより、エラーが発生した場合に返されるエラー メッセージが出力されます。

于 2012-05-30T19:49:47.133 に答える