そこで、ボタンを押すと音が鳴るアプリを作っているのですが、ボタンを押すとアプリがクラッシュしてしまいました。コードはこちら
.h ファイル内
#import <UIKit/UIKit.h>
#import <AudioToolbox/AudioToolbox.h>
@interface ViewController : UIViewController {
}
-(IBAction)buttonPressedWithSound:(id)sender;
@end
そこには何も問題はありませんが、.m ファイルには
-(IBAction)buttonPressedWithSound:(id)sender {
int randomSoundNumber = arc4random() % 4; //random number from 0 to 3
NSLog(@"random NR = %i", randomSoundNumber);
NSString *effectTitle;
switch (randomSoundNumber) {
case 0:
effectTitle = @"Come at me BRO!";
break;
case 1:
effectTitle = @"sound2";
break;
case 2:
effectTitle = @"sound3";
break;
case 3:
effectTitle = @"sound4";
break;
default:
break;
}
SystemSoundID soundID;
NSString *soundPath = [[NSBundle mainBundle] pathForResource:effectTitle ofType:@"caf"];
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
AudioServicesCreateSystemSoundID ((CFURLRef)CFBridgingRetain(soundUrl), &soundID);
AudioServicesPlaySystemSound(soundID);
}
@end
ここのこの行
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
何か問題があると言っていましたが、これは
2012-08-10 10:12:52.419 Sound +[1177:907] random NR = 1(lldb)
と
NSURL *soundUrl = [NSURL fileURLWithPath:soundPath];
緑のハイライトがあり、その横に「スレッド 1: ブレークポイント 1.1」と表示されていました。
どうすれば修正できますか、クラッシュすることなくサウンドを再生できますか