Parfois AVPlayer échoue avec AVPlayerItemStatusFailed
et après que cette erreur s'est produite, AVPlayer continue d'échouer avec AVPlayerItemStatusFailed
. J'ai essayé d'effacer l'instance d'AVPlayer et en créer une nouvelle, mais je ne peux pas obtenir l'erreur AVPlayerItemStatusFailed
à résoudre. En outre, removingFromSuperview
UIView
avec l'instance AVPlayer et l'initialisation d'un nouvel élément avec AVPlayer ne résout pas le problème.AVPlayer échoue avec AVPlayerItemStatusFailed (OSStatus error -12983)
J'ai donc pensé qu'AVPlayer ne pouvait pas être complètement effacé. Quelqu'un suggère-t-il quelque chose à essayer pour effacer AVPlayer complètement et le faire fonctionner après l'échec?
journal d'erreur:
Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x1a689360 {NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x1a688e70 "The operation couldn’t be completed. (OSStatus error -12983.)", NSLocalizedFailureReason=An unknown error occurred (-12983)}
UPD. Pour @ Matt
playerItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:filePath.path]];
if (!self.avPlayer) {
avPlayer = [AVPlayer playerWithPlayerItem:playerItem];
}
[avPlayer.currentItem addObserver:self forKeyPath:@"status" options:0 context:nil];
if (self.avPlayer.currentItem != self.playerItem) {
[self.avPlayer replaceCurrentItemWithPlayerItem:playerItem];
}
AVPlayerLayer *avPlayerLayer = [AVPlayerLayer playerLayerWithPlayer:avPlayer];
avPlayerLayer.frame = self.bounds;
[self.layer addSublayer:avPlayerLayer];
avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone;
[avPlayer play];
Afficher le code _your_ - le code que vous utilisez pour essayer de jouer en premier lieu. – matt
@matt Merci pour votre réponse, j'ai ajouté mon code ci-dessus. – instback
Une chance que 'filePath.path' soit mauvaise? Peut-être sortirait-il? – matt