如何创建一个全局的音频播放器阵列,以便我可以从其他课程中调用播放器。
Java等同于静态?
我想播放多个声音。每个玩家需要一个不同的玩家,或者一个玩家是否只需要随机播放声音?
由于
答案 0 :(得分:0)
您可以在AppDelegate类中创建一个数组(NSMutableArray),并且可以向该数组添加不同的actor对象,并且可以从任何类访问该数组
在App Delegate文件中, 在.h文件中
NSMutableArray *playersArray;
@property (nonatomic,retain)NSMutableArray *playersArray;
<。>在.m文件中初始化该数组
playersArray = [[NSMutableArray alloc] init];
在其他文件中,您可以按如下方式访问该数组
AppDelegateClassName *appDelegate = (AppDelegateClassName *)[[UIApplication sharedApplication] delegate];
[appDelegate.playersArray addObject:onePlayerObject];
同样,您可以通过从该数组中读取来访问该播放器对象。
此致
萨蒂亚。
答案 1 :(得分:0)
你不需要一系列球员。一个球员就够了
在你的appDelegate中声明这个
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:resourcePath] error:&err];
}
-(void)playAudio:(NSString *)fileName
{
NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
NSString* file=[NSString stringWithFormat:@"/%@",fileName];
resourcePath = [resourcePath stringByAppendingString:file];
NSLog(@"Path : %@",resourcePath);
NSError* err;
//Declare the player in your didFinishLaunching Dont declare here
player.delegate = self;
[player play];
}
现在,无论您想在何处播放任何文件,都可以创建appDelegate的对象
yourAppDelegate *yourAppDelegateObject= (yourAppDelegate *)[[UIApplication sharedApplication] delegate];
使用该对象调用该函数
[yourAppDelegateObject playAudio:filenameOftheAudioFile];