0

我试图在调用它们时随机播放 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 的设备上

4

1 回答 1

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];
于 2012-05-15T04:17:03.850 回答