我将视频加载到我的Sprite Kit SKVideoNode中,但是如何停止并重新开始播放或转到视频中的特定时间?我所看到的只是播放和暂停方法。
// AVPlayer
NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"HowToPlay" ofType:@"mp4"]];
_avPlayer = [AVPlayer playerWithURL:fileURL];
// SKVideoNode
_videoNode = [SKVideoNode videoNodeWithAVPlayer:_avPlayer];
[_videoNode play];
答案 0 :(得分:1)
这对我有用。
重新启动:
[_videoNode removeFromParent];
_videoNode = [SKVideoNode videoNodeWithVideoFileNamed:@"video.mp4"];
_videoNode.position = ...
_videoNode.size = ...
[self addChild:_videoNode];
[_videoNode play];
暂停:
[_videoNode pause];
_videoNode.paused = YES;
玩:
[_videoNode play];
_videoNode.paused = NO;
答案 1 :(得分:0)
您对SKVideoNode所能做的就是documented here。 play
和pause
是唯一支持的播放方法。
没有停止,因为它相当于在这种情况下暂停 - 应该“停止”做什么,渲染黑色纹理?如果应该在“停止”时删除SKVideoNode,那么只需发送removeFromParent
消息,即“停止”它。
回滚是不必要的,因为您可以再次运行play
方法或创建新的SKVideoNode。
我认为不支持跳转到特定的时间范围,因为这不是即时的,所以在视频播放位置移动到指定的时间戳之前,节点应该显示的问题是什么?
答案 2 :(得分:0)
如果您保留对用于初始化视频节点的AVPlayer
对象的引用,则可以使用其methods