KeyOff без эффекта - PullRequest
       5

KeyOff без эффекта

0 голосов
/ 21 июня 2011

Я впервые использую FMod и не понимаю, почему мой код не вызывает отключение звука Sound Designer.

Рабочая среда

iOS
Xcode

Проверенные

.fev and event's keyoff tested with fmod_eventPlayer
all FOD_RESULT are OK

Здесь код, обработанный в хронологическом порядке

-(void) initFmod
{
...
    //init
    result = _eventSystem->init(32, FMOD_INIT_NORMAL | FMOD_INIT_ENABLE_PROFILE, NULL, FMOD_EVENT_INIT_NORMAL);
...

    //load music bank settings
    result        = FMOD_OK;
    [[NSString stringWithFormat:@"%@/_music.fev", [[NSBundle mainBundle] resourcePath]] getCString:buffer maxLength:200 encoding:NSASCIIStringEncoding];
    result = _eventSystem->load(buffer, NULL, NULL);
...
}

-(void) onMusicGameStart
{

    ///////////// LOAD Game Music ////////////
    //Build Event name
    FMOD_RESULT result = FMOD_OK;
    NSString *musicGameEvent = @"music/music/music_sample_with_keyOff";
    const char *eventGame = [musicGameEvent UTF8String];

    //Get event from Fmod
    result = _eventSystem->getEvent(eventGame, FMOD_EVENT_DEFAULT, &_musicGame);

    result =  _musicGame->start();
...
}

-(void) stopMusic
{
    //Stop current Music
    [self triggerEventKeyoff:_musicGame];
}

-(void) triggerEventKeyoff:(FMOD::Event*)event
{
    if(event)
    {
        FMOD_RESULT result = FMOD_OK;
        //Get Event's Parameter
        FMOD::EventParameter *param;
        result = event->getParameterByIndex(0, &param);
        //Check error message
        [self checkResult:result even:nil];

        //trigger KeyOff
        if(result == FMOD_OK)
        {
            result = param->keyOff();
            //Check error message
            [self checkResult:result even:nil];
        }
    }
}

Музыка, связанная с _musicGame, не воспроизводит KeyOff и просто продолжает играть. _musicGame устанавливается только в onMusicGameStart ().

Я не знаю, что тестировать с этой точки.

Кстати, я не могу запустить fmod_profiler (сбой при запуске).

Спасибо за ваши ответы.

1 Ответ

1 голос
/ 22 июня 2011

В текущем fmod_profiler есть ошибка, которую легко исправить:

  1. Откройте терминал и перейдите к местоположению fmod_profiler.app
  2. Перейдите в fmod_profiler.app/Contents/MacOS
  3. Тип: "chmod u + x fmod_profiler

Теперь вы можете правильно запустить приложение из поиска.

Что касается keyoff, я бы связался со службой поддержки FMOD.

...