Ios 如何在特定视图控制器上循环音频

Ios 如何在特定视图控制器上循环音频,ios,iphone,xcode,audio,Ios,Iphone,Xcode,Audio,我是这方面的初学者。我试图在视图控制器的背景中播放wav文件。我最初制作了一个30秒的wav文件,它不会播放,我将音频文件的长度减少到10秒,并且它在视图控制器上可以正常播放。我的问题是,如何循环此音频文件和/或播放更长的音频文件。另外,当我离开视图控制器时,音频是否会停止 我使用的是xCode 4.3 我正在iPhone4&4s(iOS 5.1)上运行该应用程序 提前感谢…苹果的文档说明 您可以使用系统声音服务播放短(30秒或更短)声音。该界面不提供音量、定位、循环或计时控制,也不支持同时播

我是这方面的初学者。我试图在视图控制器的背景中播放wav文件。我最初制作了一个30秒的wav文件,它不会播放,我将音频文件的长度减少到10秒,并且它在视图控制器上可以正常播放。我的问题是,如何循环此音频文件和/或播放更长的音频文件。另外,当我离开视图控制器时,音频是否会停止

我使用的是xCode 4.3 我正在iPhone4&4s(iOS 5.1)上运行该应用程序


提前感谢…

苹果的文档说明

您可以使用系统声音服务播放短(30秒或更短)声音。该界面不提供音量、定位、循环或计时控制,也不支持同时播放:一次只能播放一个声音。您可以使用系统声音服务提供声音警报。在某些iOS设备上,警报可能包括振动

因此,当使用系统声音时,没有循环可用

您可以查看本教程

它表示,如果将numberOfLoops属性设置为负数,将导致音频播放器无限期循环


别忘了将AVFoundation框架添加到您的项目中

Apple文档状态

您可以使用系统声音服务播放短(30秒或更短)声音。该界面不提供音量、定位、循环或计时控制,也不支持同时播放:一次只能播放一个声音。您可以使用系统声音服务提供声音警报。在某些iOS设备上,警报可能包括振动

因此,当使用系统声音时,没有循环可用

您可以查看本教程

它表示,如果将numberOfLoops属性设置为负数,将导致音频播放器无限期循环

别忘了将AVFoundation框架添加到您的项目中

-(void)viewDidAppear:(BOOL)animated

{
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef soundFileURLRef;
    soundFileURLRef = CFBundleCopyResourceURL(mainBundle, (CFStringRef) @"Intro",
                                              CFSTR ("wav"), NULL);
    UInt32 soundID;
    AudioServicesCreateSystemSoundID (soundFileURLRef, &soundID);
    AudioServicesPlaySystemSound (soundID);
}
- (void)viewDidLoad {
[super viewDidLoad];

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/audiofile.mp3", [[NSBundle mainBundle] resourcePath]]];

NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;

if (audioPlayer == nil)
    NSLog([error description]);
else
    [audioPlayer play];

}