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,
);
},
);
}