import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:managerapi/api.dart'; import 'package:tablet_app/constants.dart'; import 'package:youtube_player_flutter/youtube_player_flutter.dart'; class VideoViewWidget extends StatefulWidget { final SectionDTO section; VideoViewWidget({this.section}); @override _VideoViewWidget createState() => _VideoViewWidget(); } class _VideoViewWidget extends State { YoutubePlayer _videoView; VideoDTO videoDTO; @override void initState() { print(widget.section.data); videoDTO = VideoDTO.fromJson(jsonDecode(widget.section.data)); print(videoDTO); String videoId; if (videoDTO.source_ != null && videoDTO.source_.length > 0 ) { videoId = YoutubePlayer.convertUrlToId(videoDTO.source_); YoutubePlayerController _controller = YoutubePlayerController( initialVideoId: videoId, flags: YoutubePlayerFlags( autoPlay: true, controlsVisibleAtStart: false, loop: true, hideControls: false, hideThumbnail: false, ), ); _videoView = YoutubePlayer( controller: _controller, showVideoProgressIndicator: false, /*progressIndicatorColor: Colors.amber, progressColors: ProgressBarColors( playedColor: Colors.amber, handleColor: Colors.amberAccent, ),*/ ); } super.initState(); } @override void dispose() { _videoView = null; super.dispose(); } @override Widget build(BuildContext context) => videoDTO.source_ != null && videoDTO.source_.length > 0 ? _videoView : Center(child: Text("La vidéo ne peut pas être affichée, l'url est incorrecte", style: new TextStyle(fontSize: kNoneInfoOrIncorrect),)); }