From a54b0b3ba04bff49ba7a4a60c7e985c7d219e5b7 Mon Sep 17 00:00:00 2001 From: Mikkel Ravn Date: Wed, 29 Nov 2017 16:31:43 +0100 Subject: [PATCH] Update README.md --- packages/video_player/README.md | 89 +++++++++++++++++++++++++++++++-- 1 file changed, 86 insertions(+), 3 deletions(-) diff --git a/packages/video_player/README.md b/packages/video_player/README.md index 89c2725b70f1..6df2e65a4a75 100644 --- a/packages/video_player/README.md +++ b/packages/video_player/README.md @@ -1,5 +1,88 @@ -# Launch Screen Assets +# Video Player plugin for Flutter -You can customize the launch screen with your own desired assets by replacing the image files in this directory. +[![pub package](https://img.shields.io/pub/v/video_player.svg)](https://pub.dartlang.org/packages/video_player) -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file +A Flutter plugin for iOS and Android for playing back video on a Widget surface. + +*Note*: This plugin is still under development, and some APIs might not be available yet. +[Feedback welcome](https://github.com/flutter/flutter/issues) and +[Pull Requests](https://github.com/flutter/plugins/pulls) are most welcome! + +## Installation + +First, add `video_player` as a [dependency in your pubspec.yaml file](https://flutter.io/using-packages/). + +### iOS + +Add the following entry to your _Info.plist_ file, located in `/ios/Runner/Info.plist`: + +```xml +NSAppTransportSecurity + + NSAllowsArbitraryLoads + + +``` + +This entry allows your app to access video files by URL. + +### Android + +Ensure the following permission is present in your Android Manifest file, located in `/android/app/src/main/AndroidManifest.xml: + +```xml + +``` + +The Flutter project template adds it, so it may already be there. + +### Example + +```dart +class _MyHomePageState extends State { + VideoPlayerController _controller; + bool _isPlaying = false; + + @override + void initState() { + super.initState(); + _controller = new VideoPlayerController( + 'http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_20mb.mp4', + ) + ..addListener(() { + final bool isPlaying = _controller.value.isPlaying; + if (isPlaying != _isPlaying) { + setState(() { + _isPlaying = isPlaying; + }); + } + }) + ..initialize(); + } + + @override + Widget build(BuildContext context) { + return new Scaffold( + appBar: new AppBar( + title: new Text(widget.title), + ), + body: new Center( + child: new Padding( + padding: const EdgeInsets.all(10.0), + child: new AspectRatio( + aspectRatio: 1280 / 720, + child: new VideoPlayer(_controller), + ), + ), + ), + floatingActionButton: new FloatingActionButton( + onPressed: + _controller.value.isPlaying ? _controller.pause : _controller.play, + child: new Icon( + _controller.value.isPlaying ? Icons.pause : Icons.play_arrow, + ), + ), + ); + } +} +```