void _configurePlayerSource()

in lib/aliplayer_widget_controller.dart [477:518]


  void _configurePlayerSource(AliPlayerWidgetData data) {
    if (data.videoSource == null || !data.videoSource!.validate()) {
      throw ArgumentError("Invalid video source");
    }

    final videoSource = data.videoSource;

    // 确保视频源不为空
    if (videoSource == null) {
      return;
    }

    // 根据视频源类型设置播放器
    switch (videoSource.sourceType) {
      case SourceType.url:
        // 对于URL类型,直接使用videoUrl设置
        final urlSource = videoSource as UrlVideoSource;
        _aliPlayer.setUrl(urlSource.url);
        break;

      case SourceType.vidSts:
        // 对于VidSts类型,提取所需参数
        final stsSource = videoSource as VidStsVideoSource;
        _aliPlayer.setVidSts(
          vid: stsSource.vid,
          region: stsSource.region,
          accessKeyId: stsSource.accessKeyId,
          accessKeySecret: stsSource.accessKeySecret,
          securityToken: stsSource.securityToken,
        );
        break;

      case SourceType.vidAuth:
        // 对于VidAuth类型,提取所需参数
        final authSource = videoSource as VidAuthVideoSource;
        _aliPlayer.setVidAuth(
          vid: authSource.vid,
          playAuth: authSource.playAuth,
        );
        break;
    }
  }