network.dart 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. // some init mp4s
  14. editingController.text =
  15. "https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_30mb.mp4";
  16. editingController.text =
  17. "http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4";
  18. // editingController.text = "http://172.16.100.245:5000/meng.mp4";
  19. // editingController.text = "http://172.16.100.245:5000/sample1.mp4";
  20. // editingController.text =
  21. // "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";
  22. // editingController.text =
  23. // "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";
  24. // editingController.text = "http://172.16.100.245:5000/trailer.mp4";
  25. }
  26. @override
  27. void dispose() {
  28. editingController.dispose();
  29. mediaController.dispose();
  30. super.dispose();
  31. }
  32. @override
  33. Widget build(BuildContext context) {
  34. return Scaffold(
  35. appBar: AppBar(
  36. title: Text("播放网络资源"),
  37. ),
  38. body: ListView(
  39. children: <Widget>[
  40. Row(
  41. children: <Widget>[
  42. Expanded(
  43. child: TextField(
  44. controller: editingController,
  45. ),
  46. ),
  47. FlatButton(
  48. child: Text("播放"),
  49. onPressed: _playInput,
  50. ),
  51. ],
  52. ),
  53. Container(
  54. height: 400,
  55. child: IjkPlayer(
  56. mediaController: mediaController,
  57. ),
  58. ),
  59. ],
  60. ),
  61. );
  62. }
  63. void _playInput() async {
  64. var text = editingController.text;
  65. await mediaController.setNetworkDataSource(text, autoPlay: true);
  66. }
  67. }