asset_page.dart 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';
  3. class AssetPage extends StatefulWidget {
  4. @override
  5. _AssetPageState createState() => _AssetPageState();
  6. }
  7. class _AssetPageState extends State<AssetPage> {
  8. IjkMediaController controller = IjkMediaController();
  9. @override
  10. Widget build(BuildContext context) {
  11. return Scaffold(
  12. appBar: AppBar(
  13. title: Text("播放资产"),
  14. ),
  15. body: ListView(
  16. children: <Widget>[
  17. AspectRatio(
  18. aspectRatio: 1,
  19. child: IjkPlayer(
  20. mediaController: controller,
  21. ),
  22. )
  23. ],
  24. ),
  25. floatingActionButton: FloatingActionButton(
  26. child: Icon(Icons.play_arrow),
  27. onPressed: () async {
  28. await controller.setAssetDataSource(
  29. "assets/sample1.mp4",
  30. autoPlay: true,
  31. );
  32. await controller.pause();
  33. },
  34. ),
  35. );
  36. }
  37. @override
  38. void dispose() {
  39. controller?.dispose();
  40. super.dispose();
  41. }
  42. }