0

我在我的应用程序中播放音乐时遇到问题。如果我在 viewcontroller viewDidLoad 中写这个,一切正常。

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

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

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

但是当我把它放到我自己的类中时,在 viewDidLoad 中的同一个 viewController 中实例化它并使用完全相同的代码调用方法,它就不起作用了。请问为什么?

4

1 回答 1

0

这可能是因为您的实例在 viewDidLoad 方法超出范围后被释放。为 as 创建一个类型为 strong 的属性,看看是否可行。

于 2012-10-15T21:18:34.233 回答