NoSuchMethodError: el método 'play' fue llamado en null
Aug 19 2020
Soy nuevo en la programación aleteo, yo estaba tratando de construir una aplicación reproductor de audio y estoy usando el audioplayers paquete. Quiero crear dos botones, uno para reproducir el audio y el otro para detener el audio. ¿Qué he probado? Me referí a este hilo Deje de reproducir audio e hice lo mismo, pero obtuve este error:
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")
Mi código:
AudioCache cache;
AudioPlayer player;
.
.
.
.
child: InkWell(
onTap: () async {
player = await cache.play('audio/blind.mp3');
}
.
.
.
.
.
child: InkWell(
onTap: () {
player?.stop();
print('working');
}
¿Que esta mal aquí?
Respuestas
GuillaumeRoux Aug 19 2020 at 19:40
Nunca inicializas tu variable cache
. Debe hacer algo como esto dentro initState
de un build
método o en un método para asegurarse de que su objeto no sea null
:
cache = AudioCache();