Error: Ocorreu uma exceção. LateError (LateInitializationError: Field '_videoController@29114855' has not been initialized.) #189
Replies: 2 comments 2 replies
|
O erro se refere a você usar a variável Mova somente a inicialização de @override
void initState() {
...
_videoController = VideoPlayerController.asset(
'assets/bemvindo.mp4',
);
_initializeVideoPlayer();
}
void _initializeVideoPlayer() async {
await _videoController.initialize();
if (mounted) {
setState(() {}); // Atualiza o estado após a inicialização do vídeo
_videoController.play(); // Inicia a reprodução do vídeo após a inicialização
_videoController.setLooping(true); // Define a reprodução em loop
}
} |
1 reply
|
Você cometeu alguns erros:
Abaixo segue o código de import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
class BalancoContabilPage extends StatefulWidget {
const BalancoContabilPage({Key? key}) : super(key: key);
@override
State<BalancoContabilPage> createState() => _BalancoContabilPageState();
}
class _BalancoContabilPageState extends State<BalancoContabilPage>
with SingleTickerProviderStateMixin {
late TabController _tabController;
late List<Widget> _tabContents;
late VideoPlayerController _videoController;
int _selectedTabIndex = 0;
@override
void initState() {
super.initState();
_tabController = TabController(length: 3, vsync: this);
_tabController.addListener(_handleTabSelection);
_videoController = VideoPlayerController.asset(
'assets/bemvindo.mp4',
);
_initializeVideoPlayer();
}
Future<void> _initializeVideoPlayer() async {
await _videoController.initialize();
setState(() {}); // Atualiza o estado após a inicialização do vídeo
await _videoController
.play(); // Inicia a reprodução do vídeo após a inicialização
await _videoController.setLooping(true); // Define a reprodução em loop
}
Widget _buildVideoPlayerTab() {
if (_videoController.value.isInitialized) {
return Center(
child: AspectRatio(
aspectRatio: _videoController.value.aspectRatio,
child: VideoPlayer(_videoController),
),
);
} else {
return const Center(child: CircularProgressIndicator());
}
}
void _handleTabSelection() {
setState(() {
_selectedTabIndex = _tabController.index;
});
}
@override
void dispose() {
_tabController.dispose();
_videoController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
_tabContents = [
_buildVideoPlayerTab(),
const Center(child: Text('Conteúdo da Tab 2')),
const Center(child: Text('Conteúdo da Tab 3')),
];
return Scaffold(
appBar: AppBar(
title: const Text('Balanço Contábil'),
backgroundColor: Theme.of(context).appBarTheme.backgroundColor ??
const Color.fromRGBO(33, 150, 243, 1),
bottom: PreferredSize(
preferredSize: const Size.fromHeight(kToolbarHeight),
child: Container(
color: const Color.fromARGB(255, 244, 243, 243),
child: Center(
child: TabBar(
controller: _tabController,
isScrollable: false,
tabs: const [
Tab(
child: Text(
'Sinal',
textAlign: TextAlign.center,
),
),
Tab(
child: Text(
'Língua\nPortuguesa',
textAlign: TextAlign.center,
),
),
Tab(
child: Text(
'Visual',
textAlign: TextAlign.center,
),
),
],
labelStyle: const TextStyle(
fontSize: 18,
),
labelPadding: const EdgeInsets.symmetric(
horizontal: 15,
),
),
),
),
),
),
body: TabBarView(
controller: _tabController,
children: _tabContents,
),
);
}
}
|
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Não sei mais oque fazer, se alguém puder me auxiliar, estou enfrentando esse erro faz muito tempo, sou iniciante em dart e o erro é esse:
Error: Ocorreu uma exceção. LateError (LateInitializationError: Field '_videoController@29114855' has not been initialized.)O erro ocorre aqui :
Eu esperava que o vídeo aparecesse e rodasse automaticamente na aba "Balanço Contabil ..", mas ele sempre chega nessa Exception.
All reactions