Я запускаю SKVideoNode
с экземпляром AVPlayer
. Когда я вызываю метод воспроизведения AVPlayer's
, видео не воспроизводится. Но он может воспроизводиться, когда я вызываю метод воспроизведения экземпляра SKVideoNode
.
Причина, по которой я должен использовать AVPlayer
, а не SKVideoNode
, заключается в том, что я должен отслеживать текущее время текущего видео, уведомление о статусе завершения воспроизведения. но SKVideoNode
не имеет этих двух статусов свойств.
self.player = [[AVPlayer alloc] initWithURL:url];
self.videoNode = [SKVideoNode videoNodeWithAVPlayer:self.player];
//some other code are not related to this, so I omit them here
//These two observe can work
[self.player.currentItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(itemDidFinishPlaying) name:AVPlayerItemDidPlayToEndTimeNotification object:self.player.currentItem];
//[self.player play]; This method doesn't make video play
[self.videoNode play];//This one does