【问题标题】:How do I increase the speed of a flutter video?如何提高颤振视频的速度?
【发布时间】:2019-06-09 19:47:18
【问题描述】:

我需要一种方法让我的用户以当前播放速度的 1.5-2 倍播放我的颤振视频。我已经搜索了 video_player 文档,因为那是我正在使用的插件,但我无法找到这样做的方法。如何提高播放速度?

【问题讨论】:

  • 请添加指向您使用的视频播放器小部件和您找到的视频播放器文档的链接。
  • 我刚刚在flutter插件页面中使用了video_player插件,并且我按下了一个API参考页面按钮来获取文档。

标签: dart flutter


【解决方案1】:

在颤振中,您可以更改视频速度。我没有找到 video_player 插件的解决方案,但你可以使用flutter_ijkplayer 插件。要以 2 倍速度播放视频,您可以使用:

controller.setSpeed(2.0);

完整代码如下:

在 pubspec.yaml 中:

flutter_ijkplayer: ^0.3.5+1

在 main.dart 中

import 'package:flutter/material.dart';
import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';

void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MainPage(),
    );
  }
}

class MainPage extends StatefulWidget {
  @override
  _MainPageState createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {
  IjkMediaController controller = IjkMediaController();
  double speed = 1;

  @override
  initState() {
    super.initState();
    setUpResources();
  }

  Future<void> setUpResources() async {
    await controller.setNetworkDataSource(
      'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
      autoPlay: true,
    );
    await controller.playOrPause();
    controller.setSpeed(speed);

    print("set data source success");
  }

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: Column(
        children: <Widget>[
          Container(
//            width: MediaQuery.of(context).size.width,
            height: 250,
            child: IjkPlayer(
              mediaController: controller,
            ),
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              RaisedButton(
                onPressed: () {
                  if (speed > 0.25) {
                    speed = speed - 0.25;
                  }
                  setState(() {
                    controller.setSpeed(speed);
                  });
                },
                child: Icon(Icons.indeterminate_check_box),
              ),
              Padding(
                padding: const EdgeInsets.all(16.0),
                child: Text('$speed'),
              ),
              RaisedButton(
                onPressed: () {
                  speed = speed + 0.25;
                  setState(() {
                    controller.setSpeed(speed);
                  });
                },
                child: Icon(Icons.add),
              ),
            ],
          )
        ],
      ),
    );
  }
}

Github 链接:https://github.com/exploringpratik/video_player

【讨论】:

    猜你喜欢
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2019-04-16
    • 1970-01-01
    • 2021-11-21
    • 2021-05-12
    相关资源
    最近更新 更多