いくつかのサウンドがすでに再生されているシンプルなiPhoneアプリがあります。ただし、特に1つはそうではありません。私がハックしたコードブロックは次のとおりです。
NSString *soundPath2 = [[NSBundle mainBundle] pathForResource:@"gameover" ofType:@"wav"];
NSURL *soundFileURL2 = [NSURL fileURLWithPath:soundPath2];
NSError *err;
AVAudioPlayer *sound2 = [[[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL2 error:&err] autorelease];
NSLog(@"Error: %@", [err description]);
NSLog(@"Duration: %f ", [sound2 duration]);
BOOL b = [sound2 play];
NSLog(@"Play Bool: %d", b);
コンソールには、エラーがnullであり、ブール値がtrueを返し、期間も正しいことが示されます。それでも、遊びは何もしません。「ゲームオーバー」を別の音(単純なビープ音)に変更すると、すべて問題ありません。
それをプレイするのは素晴らしいことですが、どのようなエラー状態などを理解するのにも苦労しています。1)失敗したことと2)理由を確認できます。
質問の音はhttp://wdr1.com/gameover.wavで入手できます。