基于 Flutter Video_Player 实现倍速播放

为啥要在 Flutter 实现

  在前面我用 Flutter 完成了影视 APP 的开发。在各电视剧拖拖拉拉的剧情节奏有时就需要快进,但怕错过一些重要剧情内容。所以倍速播放一直让我头疼。在安卓那边有许多播放器直接就支持倍速播放。但我在前期开发 Flutter 的应用的时候并没有去仔细寻找支持倍速播放的播放器就选择了官方的 Video_Player 进行开发。

Flutter 支持倍速播放的播放器:

实现倍速

  在看了 Video_Player 的源码后知道 Video_Player 在安卓这边是封装的 Exoplayer 播放器 查看官方文档发现 Exoplayer 是支持倍速播放的。现在我只需要实现 Flutter 与原生的通信就行了。
这个类的 Speed 参数控制的就是播放倍速
image.png
通过 SimpleExoPlayer.SetPlaybackParameters 方法来修改

void setSpeed(double value) {
      float bracketedValue = (float) value;
      PlaybackParameters existingParam = exoPlayer.getPlaybackParameters();
      PlaybackParameters newParameter =
          new PlaybackParameters(bracketedValue, existingParam.pitch, existingParam.skipSilence);
      exoPlayer.setPlaybackParameters(newParameter);
    }

项目地址仅实现了安卓

受此启发

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    317 引用 • 3169 回帖 • 710 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    32 引用 • 82 回帖 • 2 关注
  • Video_Player
    1 引用

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...