#flutter #dart #flutter-video-player
#flutter #dart #flutter-видеопроигрыватель
Вопрос:
Я пытаюсь поместить сетевое видео с другого сайта в Flutter.
Я использовал пакет video_player. Я использовал future builder, в котором CircularProgressIndicator
будет продолжаться до тех пор, пока видео не будет загружено. Когда я запускаю приложение, при запуске CircularProgressIndicator
продолжайте работать, и через несколько секунд оно останавливается, как будто видео загружено, но в эмуляторе отображается полная пустота. Другими словами, видео не загружается.
После запуска приложения
После загрузки
Это код
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
VideoPlayerController _controller;
Future<void> _initializeVideoPlayerFuture;
@override
void initState() {
_controller = VideoPlayerController.network(
'https://ok.ru/videoembed/1616636152346');
_initializeVideoPlayerFuture = _controller.initialize();
_controller.setLooping(true);
_controller.setVolume(1.0);
super.initState();
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.blue,
),
body: FutureBuilder(
future: _initializeVideoPlayerFuture,
builder: (context, snapshot){
if(snapshot.connectionState == ConnectionState.done){
return AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
);
} else {
return Center(
child: CircularProgressIndicator(backgroundColor: Colors.blue,
),
);
}
}
),
floatingActionButton: FloatingActionButton(
onPressed: (){
setState(() {
if(_controller.value.isPlaying){
_controller.pause();
}else{
_controller.play();
}
});
},
child: Icon(_controller.value.isPlaying ? Icons.pause : Icons.play_arrow,
),
),
);
}
}
Комментарии:
1. Ваша ссылка предназначена для веб-страницы, а не для видеофайла. Убедитесь, что вы используете ссылку на видеофайл MP4, чтобы получить рабочий результат. Пример: techslides.com/demos/sample-videos/small.mp4
Ответ №1:
Ваша ссылка на видео не является действительной ссылкой на видео, это URL для встраивания.
Для воспроизведения видео с сетевого URL используйте прямой URL видео, напримерhttps://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4.
Поместите эту ссылку в свой видеоконтроллер, он будет работать нормально.
Комментарии:
1. Моя ссылка на видео не работает 143.244.137.15:8000/media /event /org_event_video / Нет /…
2. ваша ссылка на видео показывает ошибку: этот сайт недоступен, пожалуйста, проверьте и добавьте действительный URL-адрес видео.
3. Пожалуйста, попробуйте еще раз.
4. все еще отображается ошибка.