我想知道如何在我的应用中添加背景音乐。 到目前为止我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Jaunty Gumption" ofType:@"mp3"]];
AVAudioPlayer *backgroundMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
backgroundMusic.numberOfLoops = -1;
[backgroundMusic play];
}
但是当我启动应用程序时没有任何反应,我不知道为什么。 我已经将AVFoundation包含在AudioToolbox框架中。 任何帮助,将不胜感激。 :) 谢谢马蒂斯
答案 0 :(得分:4)
ARC在有机会输出音频之前就会摧毁你的音频播放器。当音频播放器即将被销毁时,它将停止播放音频。将其分配给强属性而不是局部变量,如下所示:
@interface MyClass : UIViewController
@property(nonatomic, strong) AVAudioPlayer *backgroundMusic;
@end
@implementation MyClass
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *musicFile = [[NSBundle mainBundle] URLForResource:@"Jaunty Gumption"
withExtension:@"mp3"];
self.backgroundMusic = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile
error:nil];
self.backgroundMusic.numberOfLoops = -1;
[self.backgroundMusic play];
}
@end
执行此操作将使音频播放器至少与视图控制器一样长。