NoSuchMethodError: O método 'play' foi chamado em null
Aug 19 2020
Eu sou novo na programação de flutter, estava tentando construir um aplicativo reprodutor de áudio e estou usando o pacote audioplayers . Quero criar dois botões, um para reproduzir o áudio e outro para interromper o áudio. O que eu tentei: referi-me a este tópico Parar de reproduzir áudio e fiz o mesmo, mas recebi este erro:
E/flutter (18681): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: NoSuchMethodError: The method 'play' was called on null.
E/flutter (18681): Receiver: null
E/flutter (18681): Tried calling: play("audio/blind.mp3")
Meu código:
AudioCache cache;
AudioPlayer player;
.
.
.
.
child: InkWell(
onTap: () async {
player = await cache.play('audio/blind.mp3');
}
.
.
.
.
.
child: InkWell(
onTap: () {
player?.stop();
print('working');
}
o que está errado aqui?
Respostas
GuillaumeRoux Aug 19 2020 at 19:40
Você nunca inicializa sua variável cache. Você deve fazer algo assim dentro de um initStateou em um buildmétodo para garantir que seu objeto não seja null:
cache = AudioCache();
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino