我正在尝试在我的应用程序中播放一首歌。当播放歌曲的代码立即放入控制器时,它运行良好。
但是当我把代码放在一个类中时,调用该类然后调用该方法播放该歌曲,没有任何反应?如果有人有线索,请随时提供帮助。
这是播放歌曲的代码
-(void)randomSound{
NSLog(@"sound");
NSString * path;
NSError * err;
NSString *name;
NSArray *names = [[NSArray alloc] initWithObjects:@"1up.wav", @"mario02.dsp.wav", @"mario04.dsp.wav", @"mario06.dsp.wav", @"mrf.dsp.wav", nil];
name = [names randomObject];
path = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:name];
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
NSURL * url = [NSURL fileURLWithPath:path];
self.snd = [[AVAudioPlayer alloc] initWithContentsOfURL:url
error:&err] ;
if (! self.snd) {
NSLog(@"data named '%@' had error %@", name, [err localizedDescription]);
} else {
NSLog(@"playing");
[self.snd prepareToPlay];
[self.snd play];
}
} else {
NSLog(@"data file '%@' doesn't exist at '%@'", name, path);
}
}
我称之为方法的方式
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"YAHOO"])
{
YahooViewController *YH = [[YahooViewController alloc] init];
[YH randomSound];
}
随机方法,以防有人想知道其中的内容
-(id)randomObject {
NSUInteger myCount = [self count];
if (myCount)
return [self objectAtIndex:arc4random_uniform(myCount)];
else
return nil;
}
答案 0 :(得分:1)