VideoPage.dart
return ListTile(
title: Text(videoData['title']),
subtitle: GestureDetector(
child: Text(videoData['url']),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
VideoPlayPage(url: videoData['url']),
VideoPlayPage.dart
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
class VideoPlayPage extends StatefulWidget {
const VideoPlayPage({required this.url, super.key});
final String url;
State<VideoPlayPage> createState() => _VideoPlayPageState();
}
class _VideoPlayPageState extends State<VideoPlayPage> {
late VideoPlayerController videoPlayerController;
void update() => setState(() {});
void initState() {
super.initState();
videoPlayerController = VideoPlayerController.network(widget.url)
..initialize().then((_) {
update();
});
// initializeVideoPlayer = videoPlayerController.initialize().then((_) {
// update();
// videoPlayerController.play();
// });
}
void dispose() {
videoPlayerController.dispose();
super.dispose();
}
Widget build(BuildContext context) {
return MaterialApp(
title: 'Video Demo',
home: Scaffold(
body: Center(
child: videoPlayerController.value.isInitialized
? AspectRatio(
aspectRatio: videoPlayerController.value.aspectRatio,
child: VideoPlayer(videoPlayerController),
)
: Container(),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
videoPlayerController.value.isPlaying
? videoPlayerController.pause()
: videoPlayerController.play();
});
},
child: Icon(
videoPlayerController.value.isPlaying
? Icons.pause
: Icons.play_arrow,
),
),
),
);
}
}
Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error