我试图循环我的声音文件,我找不到循环声音文件的参数!我准备拔掉头上的最后一根头发。它加载得很好....它播放....我只是无法弄清楚如何让它循环的代码。
这是我的代码:
NSString *eyeBGPath = [[NSBundle mainBundle] pathForResource:@"theeye" ofType:@"caf"];
CFURLRef eyeBGURL = (CFURLRef ) [NSURL fileURLWithPath:eyeBGPath];
AudioServicesCreateSystemSoundID(eyeBGURL, &eyeBackGroundID);
AudioServicesPlaySystemSound(eyeBackGroundID);
我在这里做错了什么?
我发现了这个:
环 指示接收器在到达其内容结尾时是否重新开始播放。默认值:NO。
- (BOOL)loops
Return Value
当接收器完成后重新开始播放时为“是”,否则为“否”。
状况 适用于Mac OS X v10.5及更高版本。 也可以看看 - setLoops: 宣告进入 NSSound.h
我对如何实现这个感到困惑。
答案 0 :(得分:2)
这是适合我的代码。如果有人需要帮助,请告诉我。 Apple Dev论坛上的某个人向我指出了AVFoundation文档。
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/theeye3.caf", [[NSBundle mainBundle] resourcePath]]];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
audioPlayer.numberOfLoops = -1;
[audioPlayer play];
以下是根据图像阵列中的随机数挑选声音文件的代码。
NSString *audioWiz = [[NSString alloc]initWithFormat:@"%d.caf", randNum];
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:[@"%@/" stringByAppendingString:audioWiz], [[NSBundle mainBundle] resourcePath]]];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
audioPlayer.numberOfLoops = 0;
audioPlayer.volume = 0.1;
[audioPlayer play];
答案 1 :(得分:0)
我认为你要找的答案是here。
简短回答,使用MPMusicPlayerController
。