Widget _buildPlayStateView()

in lib/aliplayer_widget.dart [693:721]


  Widget _buildPlayStateView() {
    // 监听播放状态、错误码、错误信息等变化
    Listenable listenable = Listenable.merge([
      _playController.playStateNotifier,
      _playController.playErrorNotifier,
    ]);
    return ListenableBuilder(
      listenable: listenable,
      builder: (context, _) {
        // 获取播放状态
        final playState = _playController.playStateNotifier.value;

        // 如果不需要构建播放状态视图,则返回空组件
        if (!playState.shouldBuildWidget) {
          return const SizedBox.shrink();
        }

        // 获取错误码和错误信息
        final playError = _playController.playErrorNotifier.value;
        final errorCode = playError?.keys.firstOrNull;
        final errorMsg = playError?.values.firstOrNull;

        return AliPlayerPlayStateWidget(
          errorCode: errorCode,
          errorMsg: errorMsg,
        );
      },
    );
  }