asset_page.dart 1.1 KB

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