zoukankan      html  css  js  c++  java
  • 视频播放

    一、准备工作、注意事项
      1、把自己的 android stuido 升级为最新版本,Xcode 升级成最新版本。否则安装配置插件的时候可能会出现问题
      2、安装完成调用原生的 api 库后,需要重新运行 flutter run
      3、如果运行 flutter run 失败,请打开 android studio 后重新运行,如果 android studio 下载包失败的话请用电脑连接手机热点重试。
      4、如果依赖安装完成后引入库提示错误,请重启 Vscode
    二、Flutter 视频播放
       在 Flutter 里官方提供了一个 video_player 插件可以播放视频。但是 video_player 有一些局限性。没法控制底部播放进度等。 所以我们主要给大家讲解一个第三方的视频播放库chewie。chewie 是一个非官方的第三方视频播放组件,看起来好像是基于 HTML5 播放的组件。chewie 相对 video_player 来说,有控制栏和全屏的功能。Chewie 使用 video_player 引擎并将其包裹在友好的 Material 或 Cupertino UI 中!
     
    // 两个都要安装
    https://pub.dev/packages/video_playe
    https://pub.dev/packages/chewie
     
    案例代码
    import 'package:flutter/material.dart';

    import 'package:video_player/video_player.dart';
    import 'package:chewie/chewie.dart';

    class CameraPage extends StatefulWidget{
    CameraPage({Key key});
    _CameraPage createState() => _CameraPage();
    }

    class _CameraPage extends State {

    var videoPlayerController;
    var chewieController;
    var play = true;
    initState() {
    super.initState();
    }
    dispose() {
    super.dispose();
    videoPlayerController.dispose();
    chewieController.dispose();
    }
    @override
    Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
    appBar: AppBar(
    title: Text('设备硬件')
    ),
    body: ListView(
    children: <Widget>[
    RaisedButton(child: Text('播放视频'), onPressed: () {
    playAudio();
    setState(() {
    play = true;
    });

    }),
    play ? Container(child: Chewie(controller: chewieController),) : SizedBox(height: 0,)
    ]
    )
    );
    }
    // 播放视频
    playAudio() {
    videoPlayerController = VideoPlayerController.network('http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4');
    chewieController = ChewieController(
    videoPlayerController: videoPlayerController,
    aspectRatio: 3 / 2,
    autoPlay: true,
    looping: true,
    );
    }
    }
  • 相关阅读:
    关于c++中 get 和getline
    使用参数初始化表来实现对数据成员的初始化
    关于c++中运算符重载
    关于c++的友元函数
    C#控制台程序点击后暂停工作
    hhgame
    记字符编码与转义符的纠缠
    如何向非技术人(程序猿)解释SQL注入?
    记VS2013并行编译导致出错的解决过程
    记32位Oracle客户端登录报12560协议适配器错误的解决办法
  • 原文地址:https://www.cnblogs.com/zhaofeis/p/12373408.html
Copyright © 2011-2022 走看看