我正在尝试在调用时随机播放4个音频文件。这是代码
// randomize the playback on the setShot files
int randomNumber = arc4random() % 4 + 1;
NSString *tmpFileName = [[NSString alloc] initWithFormat:@"SetShot%d", randomNumber];
NSString *fileName = [[NSBundle mainBundle] pathForResource:tmpFileName ofType:@"aif"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:fileName], &soundID);
AudioServicesPlaySystemSound (soundID);
我在我的设备上没有在模拟器中发生上述崩溃。我对编码很新。 谢谢你的帮助。
声音文件为SetShot01至SetShot04
ARC-armv6,armv7 xcode 4.3.2在设备上使用5.1.1
答案 0 :(得分:2)
您的tmpFileName
文件可能不存在于主包中。这将导致一个零URL。这是因为你说你的文件名是SetShot0 [1-4],而你创建的字符串是SetShot [1-4]。变化
NSString *tmpFileName = [[NSString alloc] initWithFormat:@"SetShot%d", randomNumber];
读为
NSString *tmpFileName = [[NSString alloc] initWithFormat:@"SetShot0%d", randomNumber];