アプリの起動時にバックグラウンドでオーディオ ファイルを再生しています。関数は viewDidLoad で呼び出されます。
-(void)playsong
{
NSString *songUrl = [[NSBundle mainBundle] pathForResource:@"chant" ofType:@"m4a"];
NSData *songFile = [NSData dataWithContentsOfFile:songUrl];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithData:songFile error:&error ];
[audioPlayer play];
}
ユーザーがホーム ボタンを押して、曲の現在の位置が 10 秒になると、曲の再生が停止します。しかし、ユーザーが再びアプリを開くと、曲は同じ位置から始まります。
アプリを開くたびに最初から起動してほしいです。
さらに、メモリ上の理由から、メモリの割り当てを解除したほうがよいのではないでしょうか?
から関数を呼び出そうとしました
- (void)viewWillAppear:(BOOL)animated
そしてそれを nil に設定します
- (void)viewWillDisappear:(BOOL)animated
しかし、メソッド - (void)viewWillDisappear:(BOOL)animated は呼び出されません。