network.dart 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';
  3. class NetworkPage extends StatefulWidget {
  4. @override
  5. _NetworkPageState createState() => _NetworkPageState();
  6. }
  7. class _NetworkPageState extends State<NetworkPage> {
  8. TextEditingController editingController = TextEditingController();
  9. IjkMediaController mediaController = IjkMediaController();
  10. @override
  11. void initState() {
  12. super.initState();
  13. editingController.text =
  14. "https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_30mb.mp4";
  15. }
  16. @override
  17. void dispose() {
  18. editingController.dispose();
  19. mediaController.dispose();
  20. super.dispose();
  21. }
  22. @override
  23. Widget build(BuildContext context) {
  24. return Scaffold(
  25. appBar: AppBar(
  26. title: Text("播放网络资源"),
  27. ),
  28. body: ListView(
  29. children: <Widget>[
  30. Row(
  31. children: <Widget>[
  32. Expanded(
  33. child: TextField(
  34. controller: editingController,
  35. ),
  36. ),
  37. FlatButton(
  38. child: Text("播放"),
  39. onPressed: _playInput,
  40. ),
  41. ],
  42. ),
  43. Container(
  44. height: 400,
  45. child: IjkPlayer(
  46. mediaController: mediaController,
  47. ),
  48. ),
  49. ],
  50. ),
  51. );
  52. }
  53. void _playInput() async {
  54. var text = editingController.text;
  55. await mediaController.setNetworkDataSource(text, autoPlay: true);
  56. }
  57. }