百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

3分钟快速实现Flutter当中播放视频方案 支持Android iOS 通用

bigegpt 2024-08-16 14:22 2 浏览

这篇文章介绍一下在Flutter当中播放视频,我们用到了第三方到一个插件,目前flutter上面还没有原生支持,可以在pub.dev上面找一些插件来解决。

本头条核心宗旨

欢迎来到「技术刚刚好」头条,本头条是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

技术刚刚好经历

近几年,移动端跨平台开发技术层出不穷,从Facebook家的ReactNative,到阿里家WEEX,前端技术在移动端跨平台开发中大展身手,技术刚刚好作为一名Android开发,经历了从Reactjs到Vuejs的不断学习。而在2018年,我们的主角变成了Flutter,这是Goolge开源的一个移动端跨平台解决方案,可以快速开发精美的移动App。希望跟大家一起学习,一起进步!

本文核心要点

video_player是一个用于Flutter语言当中的一个插件,有了它我们就很快实现在Fluttter当中实现视频到播放效果,插件地址:https://pub.dev/packages/video_player 效果如下:

我觉得目前运用这个插件就够了,能解决我们大部分到视频播放。

IOS底层运用了avplayer进行播放

做之前可以看看这个播放器到地址:https://developer.apple.com/documentation/avfoundation/avplayer

了解一下这个播放器支持哪些格式,其实就是原生到播放器来播放到。

Android底层播放用到了ExoPlayer播放器

播放器地址:https://exoplayer.dev/

这个播放器也是google自己家出的

安装video_player播放器

首先,在pubspec.yaml文件中添加video_player为依赖项。

iOS

警告:视频播放器在iOS模拟器上不起作用。开发/测试期间必须使用iOS设备。

将以下条目添加到您的Info.plist文件中<project root>/ios/Runner/Info.plist:

<key>NSAppTransportSecurity</key>
<dict>
 <key>NSAllowsArbitraryLoads</key>
 <true/>
</dict>

此项允许您的应用通过URL访问视频文件。

Android

确保位于以下位置的Android清单文件中存在以下权限<project root>/android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>

Flutter项目模板将其添加,因此它可能已经存在。

支持的格式

  • 在iOS上,后备播放器是AVPlayer。支持的格式取决于iOS的版本,AVURLAsset类具有audiovisualTypes,您可以查询支持的av格式。
  • 在Android上,后备播放器是ExoPlayer,有关支持的格式列表,请参阅此处。

例子

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

void main() => runApp(VideoApp());

class VideoApp extends StatefulWidget {
 @override
 _VideoAppState createState() => _VideoAppState();
}

class _VideoAppState extends State<VideoApp> {
 VideoPlayerController _controller;

 @override
 void initState() {
 super.initState();
 _controller = VideoPlayerController.network(
 'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4')
 ..initialize().then((_) {
 // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
 setState(() {});
 });
 }

 @override
 Widget build(BuildContext context) {
 return MaterialApp(
 title: 'Video Demo',
 home: Scaffold(
 body: Center(
 child: _controller.value.initialized
 ? AspectRatio(
 aspectRatio: _controller.value.aspectRatio,
 child: VideoPlayer(_controller),
 )
 : Container(),
 ),
 floatingActionButton: FloatingActionButton(
 onPressed: () {
 setState(() {
 _controller.value.isPlaying
 ? _controller.pause()
 : _controller.play();
 });
 },
 child: Icon(
 _controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
 ),
 ),
 ),
 );
 }

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

总结

这篇文章运用了插件方案来解决在Flutter跨平台播放视频到解决方案,一般到需求能够应付,很多公司开发重要到时业务流程,只要能够快速实现运用要求,尽快上线才是王道。

谢谢观看技术刚刚好头条文章,本头条是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

相关推荐

了解Linux目录,那你就了解了一半的Linux系统

大到公司或者社群再小到个人要利用Linux来开发产品的人实在是多如牛毛,每个人都用自己的标准来配置文件或者设置目录,那么未来的Linux则就是一团乱麻,也对管理造成许多麻烦。后来,就有所谓的FHS(F...

Linux命令,这些操作要注意!(linux命令?)

刚玩Linux的人总觉得自己在演黑客电影,直到手滑输错命令把公司服务器删库,这才发现命令行根本不是随便乱用的,而是“生死簿”。今天直接上干货,告诉你哪些命令用好了封神!喜欢的一键三连,谢谢观众老爷!!...

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...

linux必学的60个命令(linux必学的20个命令)

以下是Linux必学的20个基础命令:1.cd:切换目录2.ls:列出文件和目录3.mkdir:创建目录4.rm:删除文件或目录5.cp:复制文件或目录6.mv:移动/重命名文件或目录7....

提高工作效率的--Linux常用命令,能够决解95%以上的问题

点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...

15 个实用 Linux 命令(linux命令用法及举例)

Linux命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁Linux系统的无限潜力,本文将深入介绍15个实用Linux命令。ls-列出目录内容l...

Linux 常用命令集合(linux常用命令全集)

系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DM...

Linux的常用命令就是记不住,怎么办?

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

Linux常用文件操作命令(linux常用文件操作命令有哪些)

ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本#ls--versionls(GNUcoreutils)8.4...

Linux 常用命令(linux常用命令)

日志排查类操作命令查看日志cat/var/log/messages、tail-fxxx.log搜索关键词grep"error"xxx.log多条件过滤`grep-E&#...

简单粗暴收藏版:Linux常用命令大汇总

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部下午好,我的网工朋友在Linux系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。通过命令行,用户可...

「Linux」linux常用基本命令(linux常用基本命令和用法)

Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。总结送免费学习资料(包含视频、技术学习路线图谱、文档等)1、显示日期的指令:d...

Linux的常用命令就是记不住,怎么办?于是推出了这套教程

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

Linux的30个常用命令汇总,运维大神必掌握技能!

以下是Linux系统中最常用的30个命令,精简版覆盖日常操作核心需求,适合快速掌握:一、文件/目录操作1.`ls`-列出目录内容`ls-l`(详细信息)|`ls-a`(显示隐藏文件)...

Linux/Unix 系统中非常常用的命令

Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...