java - 空对象引用上的 setDataSource
问题描述
Logcat 告诉我 uri 为空,但我敬酒但它不是空的。我该如何解决这个问题?
日志猫:
Attempt to invoke virtual method 'void android.media.MediaPlayer.setDataSource(android.content.Context, android.net.Uri)' on a null
代码:
public void playSong() {
uri = Uri.parse(PlayingScreen_List.get(position).getPath());
try {
mediaPlayer.setDataSource(this,uri);// **----->> Error is happening here**
mediaPlayer.prepare();
Toast.makeText(this, String.valueOf(uri), Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = MediaPlayer.create(getApplicationContext(), uri);
}else{
mediaPlayer = MediaPlayer.create(getApplicationContext(), uri);
}
mediaPlayer.start();
}
解决方案
推荐阅读
- spring - Maven 在调用 mvn install 时只运行集成测试
- flutter - 如何通过 Flutter 在 Google Fit 上注册跑步
- css - 不支持 MIME 类型
- javascript - 重复的每日倒计时
- c# - 如何使用 Linq 包含列表
在 selectTableDto 中? - webrtc - 在WebRTC中,当一个用户需要TURN而另一个用户不需要时,他们之间的流量会全部通过TURN服务器吗?
- python - 导入 tensorflow 时出错
- python - php `exec()` 和 `shell_exec()` 可以与 ls 一起使用,但不能与 python 脚本一起使用?
- sequelize.js - 根据另一个 sequelize 查询的结果对查询进行 Sequelize
- python - 如何创建独立于 OS 和 Python 版本的 Python 虚拟环境