我在我的应用程序中播放声音,我想循环播放.我对此的研究并没有完全解决我的问题.
我的代码.m
CFBundleRef mainBundle = CFBundleGetMainBundle(); CFURLRef soundFileURLRef; soundFileURLRef = CFBundleCopyResourceURL(mainBundle,(CFStringRef) @"ar4",CFSTR ("wav"),NULL); UInt32 soundID; AudioServicesCreateSystemSoundID (soundFileURLRef,&soundID); AudioServicesPlaySystemSound (soundID);
我想我需要把这样的东西放进去
numberOfLoops = -1;
解决方法
这样的事情应该可以解决你的问题:
NSString* resourcePath = [[NSBundle mainBundle] resourcePath]; resourcePath = [resourcePath stringByAppendingString:@"/YOURMUSICNAME.mp3"]; NSLog(@"Path to play: %@",resourcePath); NSError* err; //Initialize our player pointing to the path to our resource player = [[AVAudioPlayer alloc] initWithContentsOfURL: [NSURL fileURLWithPath:resourcePath] error:&err]; if( err ){ //bail! NSLog(@"Failed with reason: %@",[err localizedDescription]); } else{ //set our delegate and begin playback player.delegate = self; [player play]; player.numberOfLoops = -1; player.currentTime = 0; player.volume = 1.0; }
然后,如果你想阻止它:
[player stop];
或暂停:
[player pause];
并将其导入头文件中:
#import <AVFoundation/AVFoundation.h>.
你应该在你的标题中声明它,然后合成它.
//.h并添加粗体部分:
@interface ViewController:UIViewController< AVAudioPlayerDelegate> {
AVAudioPlayer *player; } @property (nonatomic,retain) AVAudioPlayer *player;
//.m
@synthesize player;