次の設定のアプリがあります。
URMoviePlayerViewControllerはMPMoviePlayerViewControllerを拡張します
メソッドremoteControlReceivedWithEvent:(UIEvent *)eventが実装されており、次のようになっています。
(void)viewDidLoad { [super viewDidLoad]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self becomeFirstResponder]; } (BOOL) canBecomeFirstResponder { return YES; }
URPlayerViewControllerには、プロパティとしてURMoviePlayerViewControllerがあります
@property (nonatomic, strong) URMoviePlayerViewController *player;
オーディオのクリップを再生するための呼び出しが行われると、プレーヤーが初期化されます。すでに初期化されている場合、プレーヤーは再初期化されません
URPlayerViewControllerには、再生/一時停止、次/前のコントロールが初期化され、viewDidLoadメソッドのサブビューに追加されるカスタムプレーヤーであるビューがあります。
URAppDelegateには、プロパティとしてURPlayerViewControllerがあります
@property (nonatomic, strong) URPlayerViewController *playerViewController;
playerViewControllerはアプリケーションdidFinishLaunchingWithOptionsで初期化されます
playerViewControllerのビューがウィンドウに追加され、カスタムプレーヤーがアプリ全体に表示されるようになります
問題:
通常、すべてがうまく機能します。時々、ロック画面で再生コントロール(再生/一時停止/次/前)が機能しなくなります。remoteControlReceivedWithEventが呼び出されることはありません。私はこれを一貫して再現することができませんでした。
この問題を一貫して再現することはできないので、再生に関するこの問題のデバッグに関するアドバイスやアイデアは素晴らしいでしょう。ありがとう!