在应用程序委托中使用finch?

时间:2012-07-20 12:36:45

标签: ios finch

我正在敲定ipad游戏,Finch似乎非常善于处理游戏声音...... 我的问题是:是否可以在Application Delegate中实例化所有finch机制并从多个游戏屏幕中使用它? 我的意思是在代表中准备雀科声音并从游戏画面启动它们?

2 个答案:

答案 0 :(得分:1)

我不熟悉Finch机制,但我能说的一般是应用程序委托不是这样做的地方。我建议你做的是创建一个“SoundEngine”单例类(你可以在应用程序委托中启动应用程序后实例化它)。将此声音引擎连接到Finch框架并创建公共便利方法来播放声音 - 因为这是一个Singleton,它可以安全地使用并可从整个应用程序访问,并且访问非常方便。

祝你好运!

答案 1 :(得分:0)

好的,我在我的项目旁边的一个独立工作区中安装了Finch。 开始实现Singleton,我在下面的代码中遇到了奇怪的错误

#import "FinchSoundManager.h"
#import "FISoundEngine.h"
#import "FIFactory.h"


@implementation FinchSoundManager
static FinchSoundManager *sharedInstance = nil;

@synthesize soundEngine,soundFactory;

- (id)init
{
self = [super init];

if (self) {
    soundFactory = [[FIFactory alloc] init];
    [soundFactory setLogger:FILoggerNSLog];

    [self setSoundEngine:[soundFactory buildSoundEngine]];
    [soundEngine activateAudioSessionWithCategory:AVAudioSessionCategoryPlayback];
    [soundEngine openAudioDevice];

}

return self;
}

1)AVAudioSessionCategoryPlayback上的错误 - >使用未识别的标识符 2)in finch本身:FISoundEngine:“Unknown Type Name AVAudioSession”     #import“FILogger.h”

@interface FISoundEngine : NSObject

@property(copy) FILogger logger;
@property(readonly) BOOL isRunning;
@property(strong) AVAudioSession *audioSession;

- (BOOL) activateAudioSessionWithCategory: (NSString*) categoryName;
- (void) deactivateAudioSession;

- (BOOL) openAudioDevice;
- (void) closeAudioDevice;

@end

无法理解FISoundEngine上的错误,因为它只是在我的项目中导入...任何线索?