首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高颤振视频的速度?

如何提高颤振视频的速度?
EN

Stack Overflow用户
提问于 2019-01-15 18:35:15
回答 1查看 2.6K关注 0票数 1

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

EN

回答 1

Stack Overflow用户

发布于 2020-05-14 13:29:52

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

代码语言:javascript
复制
controller.setSpeed(2.0);

以下是完整的代码:

在pubspec.yaml内部:

flutter_ijkplayer: ^0.3.5+1

内部main.dart

代码语言:javascript
复制
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链接:播放器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54204947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档