full_screen.dart 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';
  3. class FullScreen extends StatefulWidget {
  4. @override
  5. _FullScreenState createState() => _FullScreenState();
  6. }
  7. class _FullScreenState extends State<FullScreen> {
  8. var controller = IjkMediaController();
  9. Orientation get orientation => MediaQuery.of(context).orientation;
  10. @override
  11. void initState() {
  12. super.initState();
  13. controller.setNetworkDataSource(
  14. "https://www.sample-videos.com/video123/mp4/360/big_buck_bunny_360p_30mb.mp4",
  15. autoPlay: true,
  16. );
  17. }
  18. @override
  19. void dispose() {
  20. controller?.dispose();
  21. super.dispose();
  22. }
  23. @override
  24. Widget build(BuildContext context) {
  25. if (orientation == Orientation.landscape) {
  26. return _buildFullScreenPlayer();
  27. }
  28. return Scaffold(
  29. appBar: AppBar(
  30. title: Text("切换横竖屏可以看到界面变化"),
  31. ),
  32. body: ListView(
  33. children: <Widget>[
  34. _buildPlayerItem(),
  35. ],
  36. ),
  37. );
  38. }
  39. _buildPlayerItem() {
  40. return Container(
  41. height: 200,
  42. child: IjkPlayer(
  43. mediaController: controller,
  44. ),
  45. );
  46. }
  47. _buildFullScreenPlayer() {
  48. var data = MediaQuery.of(context);
  49. return Material(
  50. child: Container(
  51. width: data.size.width,
  52. height: data.size.height,
  53. child: IjkPlayer(
  54. mediaController: controller,
  55. ),
  56. ),
  57. );
  58. }
  59. }