我正在完成一个ipad游戏,Finch看起来处理游戏声音真的很好……我的问题是:是否有可能在Application Delegate中实例化所有的finch机制并在多个游戏屏幕中使用它?我的意思是在代表中准备finch的声音,并从游戏屏幕上启动它们?
发布于 2012-07-20 21:02:11
我不熟悉Finch机制,但我能说的是,应用程序委托不是做这件事的地方。我建议您创建一个"SoundEngine“单例类(您可以在应用程序委托中启动应用程序后对其进行实例化)。将这个声音引擎挂接到Finch框架,并创建公共方便的方法来播放声音-因为这是一个单例,所以使用它是安全的,并且可以从整个应用程序访问,访问起来非常方便。
祝好运!
发布于 2012-07-21 22:44:22
好的,我在项目中的独立工作区中安装了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)在finch本身中: FISoundEngine:“未知类型名称AVAudioSession”# ->“FILOGER.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上的错误在哪里,因为它只是导入到我的项目中...有什么线索吗?
https://stackoverflow.com/questions/11579536
复制相似问题