2012-02-08 24 views
0

所以我試圖在iOS5中播放一個.wave文件,並且我得到了一個警告,這導致了SIGABRTs和一般不工作的代碼。在iOS5中使用AVAudioPlayer?

NSURL *soundUrl = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Resources/Sounds/01_main_menu_list.wav", [[NSBundle mainBundle] resourcePath]]]; 
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil]; 
[_audioPlayer setDelegate:self]; 
[_audioPlayer play]; 

這是給我一個錯誤「發送‘視圖控制器* const的__strong’不兼容類型‘ID’的參數。

我硬是不知道爲什麼,我已經按照半打的例子和我來了空我喜歡的指針在正確的方向

回答

0

原來,這是ARC發佈時遇到的一個問題,我通過爲AVAudioPlayer添加@property和@synthesize對來解決問題,並將其聲明爲強大。它擺脫了所有這些錯誤,並沒有問題地播放文件。

2

這應該工作:。

NSURL* soundUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"01_main_menu_list" ofType:@"wav"]]; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil]; 
audioPlayer.delegate = self; 
[audioPlayer play]; 

如果沒有,我覺得有一些錯誤的wav文件也許。編碼?

+0

得到了文件播放,但警告仍然存在。任何想法是什麼意思,我怎麼能把它敲在頭上?我的腦海裏已經鑽了一個警告,它只是一個沒有崩潰的錯誤:) – Luke 2012-02-08 11:04:58

+0

你在哪一行代碼中得到了警告,它究竟說了些什麼? – 2012-02-08 11:06:45

+0

代表行,它正是我上面寫的。 「發送 「的ViewController * const的__strong」 到不兼容的類型的 'id' – Luke 2012-02-08 11:16:22