我在编程上在iPhone上播放声音时遇到问题 - 我不明白Xcode文档中有关AvAudioPlayer的说明。 别人可以给我一个代码片段,或者更好,向我解释一下吗?
编辑我想要做的就是在无限循环中播放声音,从viewdidload开始,在app退出时音乐应该停止(不在后台播放)。 这是我正在努力开发的游戏
实际上我使用的每个方法都会回复相同的错误:(日志摘录)
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL initFileURLWithPath:]: nil string parameter'
编辑结束
由于
答案 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)。