YTPlayerView youtube-ios-player-helper暂停不工作
我遇到了Youtube youtube-ios-player-helper库的问题。 我可以将video加载到播放器中播放,但如果我点击暂停video停止几秒钟,然后再次开始播放。
令人难以置信的简单UIViewController代码来启动video是:
- (void)viewDidLoad { [super viewDidLoad]; self.player = [[YTPlayerView alloc] initWithFrame:CGRectMake(X, Y, WIDTH, HEIGHT)]; self.player.delegate = self; [self.view addSubview:self.player]; [self.player loadWithVideoId:@"bQCjOm4p5jM"]; }
我使用NSLog检测了didChangeToState委托方法,如下所示:
- (void)playerView:(YTPlayerView *)playerView didChangeToState:(YTPlayerState)state { switch (state) { case kYTPlayerStatePlaying: NSLog(@"Started playback"); break; case kYTPlayerStatePaused: NSLog(@"Paused playback"); break; default: NSLog(@"didChangeToState %d", state); break; } }
在Xcode日志中,当我点击“播放”开始播放video时,我看到:
didChangeToState 4
值4似乎没有在YTPlayerView.m
定义。 当video实际开始播放时,我看到预期的Started playback
日志消息。
当我点击“暂停”,我没有看到任何日志(没有didChangeToState
事件触发 – 我期望的事件将是每YTPlayerView文档kYTPlayerStatePaused
)。 但几秒钟后,video又开始播放,然后我看到两个连续的Started playback
日志消息( kYTPlayerStatePlaying
事件)。 每次按“暂停”试图暂停video,暂停几秒钟(没有kYTPlayerStatePaused
事件),但然后再次开始播放,我看到Started playback
日志消息。
其他人看到这个? 任何人都知道从哪里去? 这是Xcode 6.2,构build目标是iOS 8.0。
我在代码的Github问题跟踪器中find了一个解决scheme。 对不起,我想我错过了在我以前的研究。
所描述的修复在这里: https : //github.com/youtube/youtube-ios-player-helper/issues/86
在YTPlayerView-iframe-player.html
,删除或注释下面的代码。
window.setInterval(forcePlay, 5000);
还有一个build议的修复,完全取代了YTPlayerView-iframe-player.html
文件,但上述似乎已经为我工作。 它让我担心,Google自己的这个基本function的代码是如此根本地被打破。