如何在iOS中动态更改影片的播放速度?

Flow ● Slow and Fast Motion应用程序中可以看到我正在尝试实现的完美示例.

可以通过向上或向下拖动曲线上的点来更改视频的播放速度.该视频也可以保存在此状态.

我正在寻找一种动态加速/降低视频的方法,以便在播放视频时可以更改播放速率.

Video explanation

我查了什么

> AVPlayer的播放速度属性,但它只适用于播放速率(0.50,0.67,0.80,1.0,1.25,1.50和2.0)的几个值,并且无法保存视频
> AVMutableComposition的scaleTimeRange(..)属性.但是,当您要逐渐减慢慢/快速运动的视频时,它不起作用.
>使用CAEAGLLayer和CAdisplayLink在屏幕上显示视频帧.但是,我尝试实现慢/快动作的许多尝试都没有成功.

所有这些都花了我几个月的时间,我开始怀疑我是否能够完成这一切.

因此,任何建议将是非常有价值的.

解决方法

在IOS中,MPNowPlayingInfoCenter对象包含一个NowPlayingInfo”字典,其内容描述正在播放的项目.建议您以“currentplaybackrate”开始播放,然后设置速度.在开发者论坛上看到这个 thread.

您可能最终会出现类似于this(但这是javascript)的视频播放速率已经增加了4.

document.querySelector('video').playbackRate = 4.0;
  document.querySelector('video').play();
video{width:400px;
   height:auto;}
<video controls preload="true" autoplay>
      <source src="http://www.rachelgallen.com/nature.mp4" type="video/mp4" > 
</video>

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...