flutter_youtube_view
flutter_youtube_view copied to clipboard
Android Shows Red Bar
import 'package:flutter/material.dart';
import 'package:flutter_youtube_view/flutter_youtube_view.dart';
class YoutubeDefaultWidget extends StatefulWidget {
final String? videoId;
const YoutubeDefaultWidget({super.key, this.videoId});
@override
State<YoutubeDefaultWidget> createState() => _YoutubeDefaultWidgetState();
}
class _YoutubeDefaultWidgetState extends State<YoutubeDefaultWidget>
implements YouTubePlayerListener {
double _currentVideoSecond = 0.0;
String playerState = '';
FlutterYoutubeViewController? _controller;
@override
void onCurrentSecond(double second) {
AppLog.d('Youtube: onCurrentSecond second = $second');
_currentVideoSecond = second;
}
@override
void onError(String error) {
AppLog.d('Youtube: onError error = $error');
}
@override
void onReady() {
AppLog.d('Youtube: onReady');
}
@override
void onStateChange(String state) {
AppLog.d('Youtube: onStateChange state = $state');
setState(() {
playerState = state;
});
}
@override
void onVideoDuration(double duration) {
AppLog.d('Youtube: onVideoDuration duration = $duration');
}
void _onYoutubeCreated(FlutterYoutubeViewController controller) {
_controller = controller;
}
void loadOrCueVideo() {
_controller!.loadOrCueVideo(widget.videoId!, _currentVideoSecond);
}
@override
Widget build(BuildContext context) {
return LayoutBuilder(builder: (
BuildContext context,
BoxConstraints constraints,
) {
return SizedBox(
width: constraints.maxWidth,
height: constraints.maxHeight,
child: FlutterYoutubeView(
onViewCreated: _onYoutubeCreated,
listener: this,
scaleMode: YoutubeScaleMode.none,
params: YoutubeParam(
videoId: widget.videoId!,
showUI: true,
autoPlay: false,
startSeconds: 0.0,
showYoutube: false,
showFullScreen: false,
),
),
);
});
}
}