2012-11-14 145 views
0

我在編程上在iPhone上播放聲音時遇到問題 - 我不明白Xcode關於AvAudioPlayer的文檔中的解釋。 其他人請給我一個代碼片段,或者更好的,給我解釋一下嗎?當視圖加載時播放聲音

編輯我真正想要做的就是在無限循環播放聲音,從viewdidload開始,應用程序退出音樂時應停止播放(不在後臺播放)。 這是一個遊戲,我試圖發展

其實我現在用的就是回饋同樣的錯誤每個方法:(日誌節選)

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter' 

編輯結束

感謝

+0

你的意思是?你想在你的應用程序中播放一些背景音樂嗎? – NSCool

回答

0

根據您的錯誤,您的聲音文件的路徑無效(NSURL對於無效路徑返回nil)。

+0

但我該如何解決這個問題?我只是用xcode導入它,我不Unverstand爲什麼有一個錯誤... – Maurice

+0

張貼您正在建設的線路NSURL – Alex

+0

NSString * soundFilePath = [[NSBundle mainBundle] pathForResource:@「background」ofType:@「mp3」] ; NSURL * soundFileURL = [NSURL fileURLWithPath:soundFilePath]; AVAudioPlayer * player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil]; player.numberOfLoops = -1; // infinite [player play]; – Maurice

1

以下是一種非常簡單的播放短音的方法:

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"somesound" ofType:@"aif"]; 

SystemSoundID soundID; 

AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath: soundPath], &soundID); 

AudioServicesPlaySystemSound (soundID); 

這裏是System Sound Services Reference

編輯更多的文檔:既然你不想簡單地播放短的聲音,這可能會更好:

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"mySound" ofType:@"mp3"]; 
NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; 
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil]; 
player.numberOfLoops = -1; //infinite 

[player play]; 

更多信息,請參見AVAudioPlayer Class Reference

+0

如何將聲音添加到我的「包」? – Maurice

+0

基本上通過Xcode將其添加到您的項目中。 – Joe

+0

我必須導入一些框架嗎?或者只是在我的視圖中調用它負載? – Maurice