Регистрация паразитов с помощью Everyplay с OpenAL

У меня проблемы с Everyplay v1.4.2, используемой с OpenAL. Поведение работает нормально, но каждый раз, когда воспроизводится звук, я получаю журнал, в котором говорится: "В каждой игре OpenAL отсутствует реализация: alGetSourcef 2401, AL_SEC_OFFSET, *value".

Я также попытался деактивировать OpenAL из этого фрагмента кода, который я нашел в Everyplay.h:

@interface EveryplayFeatures : NSObject
/*
 * To disable Everyplay OpenAL implementation, override this class
 * method to return NO.
 */
+ (BOOL) supportsOpenAL;

/*
 * CocosDenshion background music support currently lacks hardware
 * decoder support. To disable recording support for background music,
 * override this class method to return NO.
 */
+ (BOOL) supportsCocosDenshion;
@end

Я не уверен, как сделать то, что он говорит. Я попытался создать реализацию этого интерфейса в файле с именем "EveryplayFeatures.mm":

@implementation EveryplayFeatures

+ (BOOL) supportsOpenAL
{
    return NO;
}

+ (BOOL) supportsCocosDenshion
{
    return YES;
}

@end

Это ничего не меняет.

Кто-нибудь знает, что означает первое сообщение об ошибке и как его исправить? Иначе, как я могу эффективно отключить OpenAL поддержку Everyplay?

1 ответ

Решение

Кажется, что Everyplay еще не поддерживает AL_SEC_OFFSET, который использует ваш аудиокод. Чтобы заставить EveryplayFeatures работать, измените его следующим образом:

EveryplayFeatures.h

#import <Foundation/Foundation.h>

@interface EveryplayFeatures : NSObject

@end

EveryplayFeatures.m

@implementation EveryplayFeatures (Private)

+ (BOOL) supportsOpenAL {
    return NO;
}

+ (BOOL) supportsCocosDenshion {
    return YES;
}

@end
Другие вопросы по тегам