network.dart 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. editingController.text =
  16. "http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4";
  17. editingController.text =
  18. "http://172.16.100.245:5000/05-2%20ffmpeg%E5%BC%80%E5%8F%91%E5%85%A5%E9%97%A8Log%E7%B3%BB%E7%BB%9F.mp4";
  19. editingController.text =
  20. "http://172.16.100.245:5000/09-01%20%E7%AC%AC%E4%B8%80%E4%B8%AAJNI%E7%A8%8B%E5%BA%8F.mp4";
  21. }
  22. @override
  23. void dispose() {
  24. editingController.dispose();
  25. mediaController.dispose();
  26. super.dispose();
  27. }
  28. @override
  29. Widget build(BuildContext context) {
  30. return Scaffold(
  31. appBar: AppBar(
  32. title: Text("播放网络资源"),
  33. ),
  34. body: ListView(
  35. children: <Widget>[
  36. Row(
  37. children: <Widget>[
  38. Expanded(
  39. child: TextField(
  40. controller: editingController,
  41. ),
  42. ),
  43. FlatButton(
  44. child: Text("播放"),
  45. onPressed: _playInput,
  46. ),
  47. ],
  48. ),
  49. Container(
  50. height: 400,
  51. child: IjkPlayer(
  52. mediaController: mediaController,
  53. ),
  54. ),
  55. ],
  56. ),
  57. );
  58. }
  59. void _playInput() async {
  60. var text = editingController.text;
  61. await mediaController.setNetworkDataSource(text, autoPlay: true);
  62. }
  63. }