Tag: 反向

在IOS 9上使用AVPlayer和Swift反向播放video

我有一个录制的video剪辑,我想反向播放。 向前播放是好的,但只要我寻求video文件的结尾,并设置回放速度为-1.0的video剪辑寻求到剪辑的结尾(我看到这在video上方的时间线栏),但确实不能反向播放。 在我介绍播放器视图控制器之后,我检查它是否准备好使用: print("readyForDisplay = \(playerViewController.readyForDisplay)") 这告诉我,所有准备好准备玩。 我检查是否可以反向播放: let reversePlay = playerViewController.player!.currentItem?.canPlayReverse print("reversePlay = \(reversePlay)") 这返回TRUE 然后我寻找剪辑的结尾,并将播放速率设置为-1.0以反向播放。 playerViewController.player!.seekToTime(playerViewController.player!.currentItem!.asset.duration) playerViewController.player!.rate = -1.0 我相信已经有了这个可以玩的地方,因为如果我添加以下内容: let status : AVPlayerItemStatus? = playerViewController.player!.currentItem?.status if status == AVPlayerItemStatus.ReadyToPlay { print("Ready to play") } 它告诉我剪辑已经准备好播放了,所以我假设寻求剪辑结束(只有2秒钟)已经完成。 然后我播放剪辑: playerViewController.player!.play() 如果我不追求最终目标,并试图改变比赛速度来使其反转,那么它就会起作用。 我在这里错过了什么?

用故事板反转自定义塞

我有一个自定义的segueanimation,当推新视图控制器到堆栈时发生。 然而,当popup呈现所述自定义轮播的视图控制器时,默认导航控制器animation发生(即,当父视图控制器从左边缘在屏幕上翻译时,当前视图控制器向右移动)。 所以我的问题是这样的:有没有办法写一个自定义stream行音乐播放animation时,popup一个视图控制器的堆栈? 编辑(解决scheme): 我最终定义了一个类似于所选答案的自定义search。 在Storyboard中,我将一个自定义的Segue从子视图控制器拖回到它的父对象,给它一个标识符,并将新创build的reverse segue作为它的类。 是的,我意识到它几乎与模式转换相同。 客户的要求使这种疯狂成为必然,所以在有人提出意见之前,要明白我知道在正常情况下不应该这样做。 – (void)perform { UIViewController *src = (UIViewController *)self.sourceViewController; UIViewController *dest = (UIViewController *)self.destinationViewController; [UIView animateWithDuration:0.3 animations:^{ CGRect f = src.view.frame; f.origin.y = f.size.height; src.view.frame = f; } completion:^(BOOL finished){ src.view.alpha = 0; [src.navigationController popViewControllerAnimated:NO]; }]; }