视图加载时播放声音

时间:2012-11-14 19:35:29

标签: iphone ios xcode audio

我在编程上在iPhone上播放声音时遇到问题 - 我不明白Xcode文档中有关AvAudioPlayer的说明。 别人可以给我一个代码片段,或者更好,向我解释一下吗?

编辑我想要做的就是在无限循环中播放声音,从viewdidload开始,在app退出时音乐应该停止(不在后台播放)。 这是我正在努力开发的游戏

实际上我使用的每个方法都会回复相同的错误:(日志摘录)

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

编辑结束

由于

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

根据您的错误,您的声音文件路径无效(NSURL对于无效路径返回nil)。