v0.17.0video_box
एक नियंत्रण जो फ्लटर में वीडियो प्ले करता है, मैं इस नियंत्रण को सबसे अधिक लचीला बनाता हूं, एक वीडियो या पृष्ठ पर वीडियो सूची को प्ले कर सकता है।
23लाइक 12730-दिन डाउनलोड55Pub अंक
प्लेटफ़ॉर्म डेटा नहीं
flutter_video_box
{"sdk":"flutter"}^2.4.7^2.1.0^2.0.6^2.3.7^1.3.4^0.6.0{"sdk":"flutter"}——यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री GitHub पर देखें।
Play video in Flutter
note:
android: <project root>/android/app/src/main/AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
ios: <project root>/ios/Runner/Info.plist:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
import 'package:flutter/material.dart';
import 'package:video_box/video.controller.dart';
import 'package:video_box/video_box.dart';
import 'package:video_player/video_player.dart';
class ListVideo extends StatefulWidget {
@override
_ListVideoState createState() => _ListVideoState();
}
class _ListVideoState extends State<ListVideo> {
List<VideoController> vcs = [];
@override
void initState() {
super.initState();
for (var i = 0; i < 4; i++) {
vcs.add(VideoController(source: VideoPlayerController.network(src1))
..initialize());
}
}
@override
void dispose() {
for (var vc in vcs) {
vc.dispose();
}
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('list video'),
),
body: ListView(
children: <Widget>[
for (var vc in vcs)
Padding(
padding: const EdgeInsets.only(top: 12.0),
child: AspectRatio(
aspectRatio: 16 / 9,
child: VideoBox(controller: vc),
),
),
],
),
);
}
}
Catch the error during initialize
vc = VideoController(
source: VideoPlayerController.network('https://examole.com/a.mp4'),
)
..addInitializeErrorListenner((e) {
print('[video box init] error: ' + e.message);
})
..initialize().then((e) {
if (e != null) {
print('[video box init] error: ' + e.message);
} else {
print('[video box init] success');
}
});
For details, see /example or source code.
show: https://i.loli.net/2019/07/07/5d22104b8690b94290.jpg