着信やヘッドフォンの抜き差しなど、AVPlayer の割り込みを処理する必要があります。
だから私は次のコードを使用しようとしています:
ViewController.h
@interface ViewController : UIViewController <UIWebViewDelegate, AVAudioSessionDelegate>
ViewController.m
- (void)viewDidLoad
{
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[[AVAudioSession sharedInstance] setDelegate:self];
}
- (void)beginInterruption
{
}
- (void)endInterruption
{
}
- (void)endInterruptionWithFlags:(NSUInteger)flags
{
}
beginInterruption と endInterruptionWithFlags: は、着信コールが受信されたときに呼び出されましたが、ヘッドフォンが取り外されたときには呼び出されませんでした。
デリゲートの代わりにコールバックを使用できますが、コードを複製したくありません。