mrb*_*log 5 youtube video objective-c ios
我在使用Youtube youtube-ios-player-helper库时遇到了麻烦.我可以将视频加载到播放器中并播放但如果我点按暂停,视频会停止几秒钟,然后再次开始播放.
用于启动视频的非常简单的UIViewController代码是:
- (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"];
}
Run Code Online (Sandbox Code Playgroud)
我使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
在Xcode日志中,当我点击"播放"开始视频播放时,我看到:
didChangeToState 4
Run Code Online (Sandbox Code Playgroud)
值4似乎没有在中定义YTPlayerView.m.当视频实际开始播放时,我看到了预期的Started playback日志消息.
当我点击"暂停"时,我在日志中看不到任何内容(没有didChangeToState触发任何事件 - 我期望的事件是kYTPlayerStatePaused根据YTPlayerView文档).然而几秒钟后,视频再次开始播放,然后我看到两个连续的Started playback日志消息(kYTPlayerStatePlaying事件).每次按"暂停"尝试暂停视频时,它会暂停几秒钟(没有任何kYTPlayerStatePaused事件),但随后它再次开始播放,我看到了 Started playback日志消息.
其他人看到这个?有谁知道从哪里去?这是Xcode 6.2,构建目标是iOS 8.0.
我在Github问题跟踪器中找到了解决方案.对不起,我想我在之前的研究中错过了.
描述的修复程序在这里:https://github.com/youtube/youtube-ios-player-helper/issues/86
在YTPlayerView-iframe-player.html,删除或评论下面的代码.
window.setInterval(forcePlay, 5000);
Run Code Online (Sandbox Code Playgroud)
还有另一个建议的修复程序完全取代了YTPlayerView-iframe-player.html文件,但上面似乎对我有用.我担心谷歌自己的基本功能代码从根本上被打破了.
| 归档时间: |
|
| 查看次数: |
2005 次 |
| 最近记录: |