flutter - NoSuchMethodError:在 null 上调用了方法“play”
问题描述
我是 Flutter 编程的新手,我正在尝试构建一个音频播放器应用程序,并且我正在使用audioplayers包。我想创建两个按钮,一个用于播放音频,另一个用于停止音频。我试过什么:我提到了这个线程停止播放音频并做了同样的事情,但得到了这个错误:
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")
我的代码:
AudioCache cache;
AudioPlayer player;
.
.
.
.
child: InkWell(
onTap: () async {
player = await cache.play('audio/blind.mp3');
}
.
.
.
.
.
child: InkWell(
onTap: () {
player?.stop();
print('working');
}
这里有什么问题?
解决方案
你永远不会初始化你的变量cache
。您应该在 aninitState
或build
方法中执行类似的操作,以确保您的对象不是null
:
cache = AudioCache();
推荐阅读
- java - 如何使用 Gradle 安装 Aspose.Words for Java
- java - javac:没有源文件
- r - 如何将具有相似变量名称的多个数据框组合成一个数据框?
- php - Carbon:在 Carbon::parse 中允许时间戳
- c# - 将 ComboBox 与整数集合绑定
- flutter - 如何在颤振中使用 lerp() 方法以及用例是什么?
- assembly - 执行汇编函数的访问冲突
- asp.net - 在windows Server 2016的IIS中配置2个站点
- scala - 对于具有类型绑定的逆变类型,隐式解析失败
- python - 通过 SSH 和 SQLAlchemy 将 Python 连接到 Redshift