我正在敲定ipad游戏,Finch似乎非常善于处理游戏声音...... 我的问题是:是否可以在Application Delegate中实例化所有finch机制并从多个游戏屏幕中使用它? 我的意思是在代表中准备雀科声音并从游戏画面启动它们?
答案 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上的错误,因为它只是在我的项目中导入...任何线索?