首页 > 其他分享 >videoPlayer插件的用法

videoPlayer插件的用法

时间:2024-09-03 22:55:16浏览次数:9  
标签:播放器 视频 插件 控制器 videoPlayer controller 用法 视频文件 播放

文章目录


我们在上一章回中介绍了"如何获取文件类型"相关的内容,本章回中将介绍如何播放视频.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

播放视频是我们常用的功能,不过Flutter官方SDK中没有提供这样的API,怎么办呢?官方也想到了这点,因此提供了video_player包供开发人员使用,本章回中将
详细介绍如何通过该包提供的API来播放视频。

2. 使用方法

2.1 实现步骤

下面是使用video_palyer包播放视频的详细步骤,请大家参考:

  • 在yaml配置文件中添加包,并且获取包到项目中;
  • 创建控制器对象,也就是包中提供的VideoPlayerController类的实例;
  • 使用控制器对象初始化,并且设置声音等视频播放参数;
  • 使用控制器对象创建视频播放器对象,也就是包中提供的VideoPlayer类的实例;
  • 通过控制器对象操作视频,比较播放视频,暂停播放视频等;
  • 视频播放完成后释放控制器相关资源;

2.2 具体细节

在上面介绍的步骤中还有一些细节需要说明,主要是创建控制器对象和创建视频播放器对象这两个步骤:

  • 创建控制器对象需要使用VideoPlayerController的file()或者networkUrl()方法。这两个方法用来把本地存储中的视频文件,或者网络上的视频文件转换成
    控制器对象,方法的参数是本地视频文件的绝对地址或者网络视频文件的链接,此外,播放网络视频时还需要在配置文件中添加网络权限;
  • 创建视频播放器对象时直接使用VideoPlayer类的构造方法就可以,该方法只有一个控制器类型的参数,把控制器对象传递给该方法就可以;
  • 视频播放时有一定宽高比,最好在视频播放器外层嵌套一个AspectRatio组件,这样可以限制视频播放器的宽高比,进而达到良好的播放效果;
    我们先用文本介绍这些细节内容,在后面的小节中将通过示例代码来演示。

3. 示例代码

///创建控制器对象并且进行初始化操作
  VideoPlayerController? _controller = VideoPlayerController.file(File(file_path));
  await _controller?.setVolume(0.0);
  await _controller?.initialize();
  await _controller?.setLooping(true);

///创建视频播放器对象
  Center(
    ///控制视频的宽高比
    child: AspectRatio(
      aspectRatio: controller!.value.aspectRatio,
      child: VideoPlayer(controller!),
    ),
  );

///通过按钮播放、暂停视频
Container(
  width: 64,
  color: Colors.green,
  child: IconButton(
    onPressed: () {
      setState(() {
        _controller!.value.isPlaying
            ? _controller?.pause()
            : _controller?.play();
      });
    },
    icon: _controller == null
        ? const Icon(Icons.video_call)
        : (Icon(_controller!.value.isPlaying
            ? Icons.pause
            : Icons.play_arrow)),
  ),
),

///释放控制器相关资源
@override
void dispose() {
  _controller = null;
  super.dispose();
}

4. 内容总结

最后,我们对本章回的内容做一个全面总结:

  • 在Flutter开发中需要使用三方包video_player来播放视频;
  • 该包主要通过控制器和视频播放器两个类来播放视频;
  • 控制器用来初始化视频文件,对视频文件进行播放,暂停等操作;
  • 视频播放器主要用来播放视频文件,相当于提供一个播放窗口;
  • 视频播放完成后要释放控制器相关的资源;
    看官们,与"如何播放视频"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

标签:播放器,视频,插件,控制器,videoPlayer,controller,用法,视频文件,播放
From: https://blog.csdn.net/talk_8/article/details/141873261

相关文章

  • 基于flatten-maven-plugin插件实现maven多模块版本管理,维护为相同版本号
    pom文件引入flatten-maven-plugin插件<build><plugins><!--添加flatten-maven-plugin插件--><plugin><groupId>org.codehaus.mojo</groupId><artifactId>flatten-m......
  • ‍️ SpringBoot中MongoDB的骚操作用法
    不知道大家在工作项目中有没有使用MongoDB,在哪些场景中使用。MongoDB作为NoSQL数据库,不像SQL数据库那样,可以使用Mybatis框架。如果需要在SpringBoot中使用MongoDB的话,我目前知道有三种方式,第一种是直接使用MongoDB官方的SDK,第二种是使用SpringJpa的方式,第三种是使用MongoTemplate......
  • 《第三十五章 高级主题 - 插件化开发》
    在Android开发中,随着应用规模的不断扩大和功能的日益复杂,插件化开发逐渐成为一种重要的技术手段。插件化开发能够实现应用功能的动态扩展和模块的独立更新,提高开发效率和应用的灵活性。本章将深入探讨插件化开发的原理以及简单插件化的实现方法。一、插件化开发简介插......
  • vue3中交互反馈的用法及各种弹窗输入框最详细教学
    1.showToast1.1参数说明以上是showToast中的常用参数,接下来会对一部分进行演示1.1.1title现在添加了一个showToast方法,并且在里面写了title参数当我第一次进入这个页面时,会触发该弹窗,并且上面会有添加的文字《操作失败》上面是✓的原因是因为默认值为✓1.1.2......
  • 开发一个直播插件,生成AI主播带货!
    在当今的数字时代,直播带货已成为电商领域的一大热门趋势,随着人工智能技术的不断发展,生成AI主播带货的想法正逐渐变为现实。本文将带您了解如何开发一个直播插件,并生成一个能够自主带货的AI主播,我们将通过分享七段源代码,来逐步揭示这一过程的技术实现。1、直播环境设置(使用Flask框......
  • 【Python插件入门】第10篇(完结篇):插件常用工具类分享
    【Python插件入门】第10篇(完结篇):插件常用工具类分享原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注149人赞赏了该文章 1.8万次浏览 未经作者许可,禁止转载编辑于2022年08月22日09:......
  • Python插件入门】第3篇-插件中如何进行数据操作
    Python插件入门】第3篇-插件中如何进行数据操作原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注286人赞赏了该文章 3.2万次浏览 未经作者许可,禁止转载编辑于2022年09月02日10:58:02......
  • 【Python插件入门】第4篇:单据表单插件
    【Python插件入门】第4篇:单据表单插件原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注247人赞赏了该文章 3.4万次浏览 未经作者许可,禁止转载编辑于2022年09月07日15:00:34摘要由A......
  • 【Python插件入门】第5篇:单据列表插件
    【Python插件入门】第5篇:单据列表插件原创金蝶云·星空-BOS平台金蝶云·星空-基础架构金蝶云·星空-学习笔记金蝶云·星空-协同开发更多 CQ周玉立已关注210人赞赏了该文章 2万次浏览 未经作者许可,禁止转载编辑于2022年08月17日10:37:48摘要由AI......
  • MySQL like用法详解
    MySQLLIKE语法LIKE运算符用于WHERE表达式中,以搜索匹配字段中的指定内容,语法如下:WHEREcolumnLIKEpatternWHEREcolumnNOTLIKEpattern在LIKE全面加上NOT运算符时,表示与LIKE相反的意思,即选择column不包含pattern的数据记录LIKE通常与通配符%一起使用,%表示通配pattern中出现的......