network.dart 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';
  3. import 'package:ijkplayer_example/i18n/i18n.dart';
  4. class NetworkPage extends StatefulWidget {
  5. @override
  6. _NetworkPageState createState() => _NetworkPageState();
  7. }
  8. class _NetworkPageState extends State<NetworkPage> {
  9. TextEditingController editingController = TextEditingController();
  10. IjkMediaController mediaController = IjkMediaController();
  11. @override
  12. void initState() {
  13. super.initState();
  14. // some init mp4s
  15. editingController.text =
  16. "https://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_30mb.mp4";
  17. editingController.text =
  18. "http://img.ksbbs.com/asset/Mon_1703/05cacb4e02f9d9e.mp4";
  19. // editingController.text = "http://172.16.100.245:5000/meng.mp4";
  20. // editingController.text = "http://172.16.100.245:5000/sample1.mp4";
  21. // editingController.text =
  22. // "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";
  23. // editingController.text =
  24. // "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";
  25. // editingController.text = "http://172.16.100.245:5000/trailer.mp4";
  26. }
  27. @override
  28. void dispose() {
  29. editingController.dispose();
  30. mediaController.dispose();
  31. super.dispose();
  32. }
  33. @override
  34. Widget build(BuildContext context) {
  35. return Scaffold(
  36. appBar: AppBar(
  37. title: Text(currentI18n.networkButton),
  38. ),
  39. body: ListView(
  40. children: <Widget>[
  41. Row(
  42. children: <Widget>[
  43. Expanded(
  44. child: TextField(
  45. controller: editingController,
  46. ),
  47. ),
  48. FlatButton(
  49. child: Text(currentI18n.play),
  50. onPressed: _playInput,
  51. ),
  52. ],
  53. ),
  54. Container(
  55. height: 400,
  56. child: IjkPlayer(
  57. mediaController: mediaController,
  58. ),
  59. ),
  60. ],
  61. ),
  62. );
  63. }
  64. void _playInput() async {
  65. var text = editingController.text;
  66. await mediaController.setNetworkDataSource(text, autoPlay: true);
  67. }
  68. }