mirror of
https://bitbucket.org/FransoletThomas/tablet-app.git
synced 2025-12-06 08:31:19 +00:00
86 lines
2.5 KiB
Dart
86 lines
2.5 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:manager_api/api.dart';
|
|
import 'package:tablet_app/constants.dart';
|
|
import 'package:youtube_player_iframe/youtube_player_iframe.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<VideoViewWidget> {
|
|
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_!);
|
|
|
|
final _controller = YoutubePlayerController(
|
|
params: YoutubePlayerParams(
|
|
mute: false,
|
|
showControls: true,
|
|
showFullscreenButton: false,
|
|
showVideoAnnotations: false,
|
|
strictRelatedVideos: true,
|
|
pointerEvents: PointerEvents.auto
|
|
),
|
|
);
|
|
|
|
_controller.loadVideo(videoDTO!.source_!);//.loadVideoById(videoId: "3vBwRfQbXkg"); // Auto Play
|
|
|
|
// If the requirement is just to play a single video.
|
|
/*final _controller = YoutubePlayerController.fromVideoId(
|
|
videoId: '<video-id>',
|
|
autoPlay: false,
|
|
params: const YoutubePlayerParams(showFullscreenButton: true),
|
|
);*/
|
|
|
|
/*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)));
|
|
} |