# FlutterMusicPlayer **Repository Path**: TimeSource/FlutterMusicPlayer ## Basic Information - **Project Name**: FlutterMusicPlayer - **Description**: No description available - **Primary Language**: Dart - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-14 - **Last Updated**: 2024-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README <<<<<<< HEAD # flutter_video_audio flutter_video_audio Flutter Dart QQ技术交流群:979966470 音视频部分其实也不是很难,对于原生Android平台,Google有ExoPlayer,支持常见的很多种视频格式和协议,性能、功能和稳定性也非常的好。其他平台也都有各自的播放器API。Flutter本身目前的API并不支持音视频播放处理,毕竟无法达到原生播放器的体验和效果。所以官方的插件库也都是分别调用和封装原生播放器进行的API交互处理,本质都是使用的原生播放器进行播放处理。 我们的视频播放器将要使用的就是官方的video_player 插件库:https://pub.dev/packages/video_player 官方例子效果图: ![官方例子效果图](https://github.com/jaychou2012/flutter_video_audio/blob/master/screenshot/demo_ipod.gif?raw=true) 音频播放器部分我们使用第三方插件库AudioPlayers :https://pub.dev/packages/audioplayers ,这个插件库也是调用的原生播放,只不过封装了一层API。我们也可以自己写插件,基于原生的一些播放器API进行封装。 这个audioplayers插件也是原生分别对应: * Android平台:MediaPlayer; * IOS平台:AVAudioPlayer 视频播放器将要使用的就是官方的video_player 插件库:https://pub.dev/packages/video_player **本质就是分别对应调用的就是:** * Android平台:ExoPlayer * IOS平台:AVPlayer 做过Android或IOS原生开发的应该对这两个播放器库都非常的熟悉。ExoPlayer是Google官方推出的一个播放器库,非常的强大。AVPlayer是IOS平台的原生播放器库。 那么video_player插件库就是基于这两个原生播放器进行插件封装API。 **支持的格式:** 所支持的视频格式和协议也就是ExoPlayer和AVPlayer所对应支持的格式。 视频播放器所支持的视频播放地址流主要由三大部分组成: 1、视频/音频流协议(如:http,https,rtsp,rtmp,hls) 2、视频/音频编码格式(如:h264,h265,aac,pcm,mp3,wma) 3、视频/音频封装格式(如:.mp4,.mp3,.flv,.ts,.m3u8) 具体Android平台的ExoPlayer支持的格式,大家可以看官方文档:https://exoplayer.dev/supported-formats.html,这里不再列举,大部分的都是支持的。还可以通过FFmpeg extension这个ExoPlayer的官方扩展库,来扩展更多音视频编解码功能。 苹果IOS平台的AVPlayer支持的格式、协议也非常的丰富,大家自行网络查询了解。 其实ExoPlayer和AVPlayer也可以作为音频播放器,这都是没问题的。也就是video_player也可以兼容作为音频播放器。 我们先看下视频播放器的效果图: ![视频播放器的效果图](https://github.com/jaychou2012/flutter_video_audio/blob/master/screenshot/gifhome_540x960_25s.gif?raw=true) ![视频播放器的效果图](https://github.com/jaychou2012/flutter_video_audio/blob/master/screenshot/device-2019-08-07-224424.png?raw=true) ![视频播放器的效果图](https://github.com/jaychou2012/flutter_video_audio/blob/master/screenshot/device-2019-08-07-224450.png?raw=true) **视频播放器实现了:全屏半屏切换,控制操作栏的显示与隐藏,播放和暂停,进度时时显示,播放时长和总时长的格式化显示,手势操作的一部分等功能。** 音频播放器部分我们使用第三方插件库AudioPlayers :https://pub.dev/packages/audioplayers ,这个插件库也是调用的原生播放,只不过封装了一层API。我们也可以自己写插件,基于原生的一些播放器API进行封装。 这个audioplayers插件对应的原生调用分别是: * Android平台:MediaPlayer * IOS平台:AVAudioPlayer 接下来我们看下我们实现的效果图: ![音频播放器的效果图](https://github.com/jaychou2012/flutter_video_audio/blob/master/screenshot/gifhome_540x960_7s.gif?raw=true) 静态效果图: ![音频播放器的效果图](https://github.com/jaychou2012/flutter_video_audio/blob/master/screenshot/device-2019-08-08-233521.png?raw=true) **音频播放器实现了:播放、暂停、停止销毁、进度时时显示、播放时长和总时长的格式化显示,状态监听、支持播放网络音频文件、本地音频文件、资源目录音频文件。** ======= # FlutterMusicPlayer #### 介绍 {**以下是码云平台说明,您可以替换此简介** 码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) >>>>>>> 1e9f55d8398479d9df95296ca77fc8856fd618d1