Przeglądaj źródła

add some document

cjl_macbook 6 lat temu
rodzic
commit
aef04c9fa4
3 zmienionych plików z 43 dodań i 4 usunięć
  1. 1 1
      lib/flutter_ijkplayer.dart
  2. 0 2
      lib/src/config.dart
  3. 42 1
      lib/src/controller.dart

+ 1 - 1
lib/flutter_ijkplayer.dart

@@ -2,4 +2,4 @@ export 'src/error.dart';
 export 'src/ijkplayer.dart';
 export 'src/video_info.dart';
 export 'src/widget/controller_builder.dart' show DefaultControllerWidget;
-export 'src/config.dart';
+export 'src/config.dart';

+ 0 - 2
lib/src/config.dart

@@ -1,5 +1,3 @@
 class IjkConfig {
-
   static bool isLog = false;
-
 }

+ 42 - 1
lib/src/controller.dart

@@ -2,57 +2,76 @@ part of './ijkplayer.dart';
 
 /// Media Controller
 class IjkMediaController {
-
   /// MediaController
   IjkMediaController({
     this.autoRotate = true,
   });
 
+  /// texture id from native
   int _textureId;
 
+  /// It will automatically correct the direction of the video.
   bool autoRotate;
 
+  /// texture id from native
   int get textureId => _textureId;
 
+  /// set texture id, Normally the user does not call
   set textureId(int id) {
     _textureId = id;
     _textureIdController.add(id);
   }
 
+  /// on texture id change
   StreamController<int> _textureIdController = StreamController.broadcast();
 
+  /// on texture id change
   Stream<int> get textureIdStream => _textureIdController.stream;
 
+  /// Channel of flutter and native.
   _IjkPlugin _plugin;
 
+  /// Whether texture id is null
   bool get isInit => textureId == null;
 
+  /// channel of native to flutter
   IJKEventChannel eventChannel;
 
+  /// playing state
   bool _isPlaying = false;
 
+  /// playing state
   bool get isPlaying => _isPlaying == true;
 
+  /// playing state
   set isPlaying(bool value) {
     this._isPlaying = value;
     _playingController.add(value);
   }
 
+  /// playing state stream controller
   StreamController<bool> _playingController = StreamController.broadcast();
 
+  /// playing state stream
   Stream<bool> get playingStream => _playingController.stream;
 
+  /// video info stream controller
   StreamController<VideoInfo> _videoInfoController =
       StreamController.broadcast();
 
+  /// video info stream
   Stream<VideoInfo> get videoInfoStream => _videoInfoController.stream;
 
+  /// video volume stream controller
   StreamController<int> _volumeController = StreamController.broadcast();
 
+  /// video volume stream
   Stream<int> get volumeStream => _volumeController.stream;
 
+  /// video volume, not system volume
   int _volume = 100;
 
+  /// video volume, not system volume
   set volume(int value) {
     if (value > 100) {
       value = 100;
@@ -64,8 +83,10 @@ class IjkMediaController {
     _setVolume(value);
   }
 
+  /// video volume, not system volume
   int get volume => _volume;
 
+  /// create ijk texture id from native
   Future<void> _initIjk() async {
     try {
       var id = await _createIjk();
@@ -80,6 +101,7 @@ class IjkMediaController {
     }
   }
 
+  /// [reset] and close all controller
   void dispose() async {
     await reset();
     _playingController.close();
@@ -88,6 +110,7 @@ class IjkMediaController {
     _volumeController.close();
   }
 
+  /// dispose all resource
   Future<void> reset() async {
     volume = 100;
     this.textureId = null;
@@ -97,6 +120,7 @@ class IjkMediaController {
     eventChannel = null;
   }
 
+  /// set net DataSource
   Future<void> setNetworkDataSource(
     String url, {
     bool autoPlay = false,
@@ -106,6 +130,7 @@ class IjkMediaController {
     }, autoPlay);
   }
 
+  /// set asset DataSource
   Future<void> setAssetDataSource(
     String name, {
     String package,
@@ -116,6 +141,7 @@ class IjkMediaController {
     }, autoPlay);
   }
 
+  /// set file DataSource
   Future<void> setFileDataSource(
     File file, {
     bool autoPlay = false,
@@ -125,6 +151,7 @@ class IjkMediaController {
     }, autoPlay);
   }
 
+  /// dispose last textureId resource
   Future<void> _initDataSource(
     Future setDataSource(),
     bool autoPlay,
@@ -139,6 +166,7 @@ class IjkMediaController {
     await setDataSource();
   }
 
+  /// Play or pause according to your current status
   Future<void> playOrPause() async {
     var videoInfo = await getVideoInfo();
     var playing = videoInfo.isPlaying;
@@ -150,27 +178,34 @@ class IjkMediaController {
     refreshVideoInfo();
   }
 
+  /// play media
   Future<void> play() async {
     await _plugin?.play();
     refreshVideoInfo();
   }
 
+  /// pause media
   Future<void> pause() async {
     await _plugin?.pause();
     refreshVideoInfo();
   }
 
+  /// seek to second
+  ///
+  /// [target] unit is second
   Future<void> seekTo(double target) async {
     await _plugin?.seekTo(target);
     refreshVideoInfo();
   }
 
+  /// get video info from native
   Future<VideoInfo> getVideoInfo() async {
     Map<String, dynamic> result = await _plugin?.getInfo();
     var info = VideoInfo.fromMap(result);
     return info;
   }
 
+  /// request info and notify
   Future<void> refreshVideoInfo() async {
     var info = await getVideoInfo();
     isPlaying = info.isPlaying;
@@ -178,16 +213,19 @@ class IjkMediaController {
     LogUtils.log("info = $info");
   }
 
+  /// AutoPlay use
   void _autoPlay(bool autoPlay) {
     if (autoPlay) {
       eventChannel?.autoPlay(this);
     }
   }
 
+  /// set video volume
   Future<void> _setVolume(int volume) async {
     await _plugin?.setVolume(volume);
   }
 
+  /// [pause] and [seekTo] 0
   Future<void> stop() async {
 //    await _plugin?.stop();
 //    refreshVideoInfo();
@@ -196,10 +234,12 @@ class IjkMediaController {
     refreshVideoInfo();
   }
 
+  /// get system volume
   Future<int> getSystemVolume() async {
     return IjkManager.getSystemVolume();
   }
 
+  /// set system volume
   Future<void> setSystemVolume(int volume) async {
     await IjkManager.setSystemVolume(volume);
   }
@@ -216,6 +256,7 @@ Future<int> _createIjk() async {
 class _IjkPlugin {
   MethodChannel get channel => MethodChannel("top.kikt/ijkplayer/$textureId");
 
+  ///
   int textureId;
 
   _IjkPlugin(this.textureId);