togglePlayback method

void togglePlayback()

Implementation

void togglePlayback() {
  if (!_isPlaying && _currentGlobalTime.value.inMilliseconds >= totalDuration.inMilliseconds - 10) {
    _currentGlobalTime.value = Duration.zero;
    seekTo(Duration.zero);
  }
  _isPlaying = !_isPlaying;
  if (_isPlaying) {
    final vpc = _videoPlayerController;
    if (_previewIsComposed && vpc != null && vpc.value.isInitialized) {
      // Composed preview already loaded: play the full project as-is.
      vpc.play();
    } else {
      final clip = clipAtPlayhead;
      if (clip == null || clip.isImage) {
        _startImagePlaybackTimer();
      } else {
        _showRawClipAtPlayhead();
        _videoPlayerController?.play();
      }
    }
  } else {
    _videoPlayerController?.pause();
    _stopImagePlaybackTimer();
  }
  notifyListeners();
}