123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- import 'dart:async';
-
- import 'package:flutter/material.dart';
- import 'package:flutter/services.dart';
- import 'package:mofun_flutter_plugin_video/mofun_flutter_plugin_video.dart';
- import 'package:mofun_flutter_plugin_video/mofun_video_view.dart';
-
- void main() => runApp(MyApp());
-
- class MyApp extends StatefulWidget {
- @override
- _MyAppState createState() => _MyAppState();
- }
-
- class _MyAppState extends State<MyApp> {
- String _platformVersion = 'Unknown';
-
- @override
- void initState() {
- super.initState();
- initPlatformState();
- }
-
- // Platform messages are asynchronous, so we initialize in an async method.
- Future<void> initPlatformState() async {
- String platformVersion;
- // Platform messages may fail, so we use a try/catch PlatformException.
- try {
- platformVersion = await MofunFlutterPluginVideo.platformVersion;
- } on PlatformException {
- platformVersion = 'Failed to get platform version.';
- }
-
- // If the widget was removed from the tree while the asynchronous platform
- // message was in flight, we want to discard the reply rather than calling
- // setState to update our non-existent appearance.
- if (!mounted) return;
-
- setState(() {
- _platformVersion = platformVersion;
- });
- }
-
- @override
- Widget build(BuildContext context) {
- const String defaultUrl = 'rtmp://live.hkstv.hk.lxdns.com/live/hks1';
-
- return MaterialApp(
- home: Scaffold(
- appBar: AppBar(
- title: const Text('Plugin example app'),
- ),
- body: Builder(builder: (context) {
- TextEditingController textEditingController =
- TextEditingController(text: defaultUrl);
- MofunVideoViewController controller;
- String url;
-
- return Column(
- children: <Widget>[
- Container(
- height: 400.0,
- child: MofunVideoView(
- onMofunVideoViewCreated: (c) {
- controller = c;
- c.toast('Mofun video!');
- },
- ),
- ),
- TextField(
- controller: textEditingController,
- onChanged: (s) => url = s),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- children: <Widget>[
- RaisedButton(
- onPressed: () {
- controller?.play(url ?? defaultUrl);
- },
- child: Text('Play'),
- ),
- RaisedButton(
- onPressed: () {
- controller?.stop();
- },
- child: Text('Stop'),
- ),
- RaisedButton(
- onPressed: () {
- controller?.toast('暂不支持');
- },
- child: Text('Save'),
- ),
- ],
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- children: <Widget>[
- RaisedButton(
- onPressed: () {
- controller?.record();
- },
- child: Text('Record'),
- ),
- RaisedButton(
- onPressed: () {
- controller?.playerAndResume();
- },
- child: Text('PlayerAndResume'),
- ),
- ],
- ),
- ],
- );
- })),
- );
- }
- }
|