2012-07-20 33 views
0

我正在敲定一款ipad遊戲,Finch似乎真的很適合處理遊戲聲音...... 我的問題是:是否可以實例化應用程序委託中的所有finch機制並從多個遊戲屏幕使用它? 我的意思是在代表們準備雀鳥的聲音,並從遊戲屏幕啓動它們?在應用程序委託中使用finch?

回答

1

我並不熟悉Finch機制,但我可以說一般情況是應用程序委託不是執行此操作的地方。我建議你做的是創建一個「SoundEngine」單例類(你可以在應用程序委託中啓動應用程序後實例化這個)。將這個聲音引擎連接到Finch框架並創建公共便利方法來播放聲音 - 因爲這是一個Singleton,它可以安全地在整個應用程序中使用和訪問,並且訪問非常方便。

祝你好運!

0

好吧,我安裝了Finch在我的項目的一個indeptendat工作區。 開始實施的辛格爾頓和我在下面的代碼

#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)的:FISoundEngine:「未知類型名稱AVAudioSession」 #進口「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錯誤,因爲它是在我的項目只是進口...任何線索?

相關問題