0

アプリで音楽を再生する際に問題が発生しました。これをviewcontrollerviewDidLoadで書くと、すべてが機能します。

   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 に答える