| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import 'package:flutter/material.dart';
- import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';
- class VideoWidget extends StatefulWidget {
- final String url;
- VideoWidget(this.url);
- @override
- _VideoWidgetState createState() => _VideoWidgetState();
- }
- class _VideoWidgetState extends State<VideoWidget> with WidgetsBindingObserver {
- IjkMediaController controller;
- @override
- void initState() {
- super.initState();
- controller = IjkMediaController();
- controller.setNetworkDataSource(widget.url, autoPlay: true);
- Stream<IjkStatus> ijkStatusStream = controller.ijkStatusStream;
- ijkStatusStream.listen((status) {
- if (status == IjkStatus.complete) {
- controller?.play();
- }
- });
- // SystemChannels.lifecycle.setMessageHandler((msg) {});
- }
- @override
- void didChangeAppLifecycleState(AppLifecycleState state) {
- if (state == AppLifecycleState.resumed) {
- controller?.play();
- } else if (state == AppLifecycleState.paused) {
- controller?.pause();
- }
- }
- @override
- void deactivate() {
- super.deactivate();
- controller?.pause();
- }
- @override
- void reassemble() {
- super.reassemble();
- controller?.play();
- }
- @override
- void dispose() {
- super.dispose();
- controller?.dispose();
- }
- @override
- Widget build(BuildContext context) {
- return IjkPlayer(
- mediaController: controller,
- controllerWidgetBuilder: (mController) => new Container(),
- );
- }
- }
- class SreErrorPage extends StatefulWidget {
- @override
- _SreErrorPageState createState() => _SreErrorPageState();
- }
- class _SreErrorPageState extends State<SreErrorPage> {
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(),
- body: Container(
- child: PageView.builder(
- itemBuilder: (BuildContext context, int index) {
- // return VideoWidget("http://114.55.36.48/1204/27/index$index.m3u8");
- return VideoWidget("http://itv.100.ahct.lv1.vcache.cn/100/ott_baseline_kalaok/hd/151/CP0541903573/playlist.m3u8");
- },
- ),
- ),
- );
- }
- }
|