start method
change player's state to FijkState.started
throw StateError if call this method on invalid state. see fijkstate zh or fijkstate en for details
Implementation
Future<void> start() async {
await _nativeSetup.future;
if (state == FijkState.initialized) {
_callId += 1;
int cid = _callId;
FijkLog.i("$this invoke prepareAsync and start #$cid");
await setOption(FijkOption.playerCategory, "start-on-prepared", 1);
await _channel.invokeMethod("prepareAsync");
FijkLog.i("$this invoke prepareAsync and start #$cid -> done");
} else if (state == FijkState.asyncPreparing ||
state == FijkState.prepared ||
state == FijkState.paused ||
state == FijkState.started ||
value.state == FijkState.completed) {
FijkLog.i("$this invoke start");
await _channel.invokeMethod("start");
} else {
FijkLog.e("$this invoke start invalid state:$state");
return Future.error(StateError("call start on invalid state $state"));
}
}