init method
Implementation
@override
void init() {
notify(PlayerEvent.init);
// needBoot((){
// Player.boot();
// print("Player.boot");
// });
var _vlcMedia;
if (media.type == PlayerMediaType.network) {
_vlcMedia = dart_vlc.Media.network(media.resource);
} else if (media.type == PlayerMediaType.asset) {
_vlcMedia = dart_vlc.Media.asset(media.resource);
} else if (media.type == PlayerMediaType.file) {
_vlcMedia = dart_vlc.Media.file(File(media.resource));
} else {
throw Exception("media type not support");
}
player.open(_vlcMedia, autoStart: false);
players.add(this);
subscriptions.addAll([
player.positionStream.listen((dart_vlc.PositionState _state) {
_position = _state.position ?? _position;
_duration = _state.duration ?? _duration;
notify(PlayerEvent.position);
}),
player.playbackStream.listen((state) {
if (state.isCompleted) {
status = PlayerStatus.ended;
// if loop is true, then restart the video
if (loop) {
replay();
}
}
}),
player.generalStream.listen((dart_vlc.GeneralState _state) {
_volume = _state.volume;
_speed = _state.rate;
}),
]);
if (autoPlay) {
play();
}
super.init();
}