栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Android的媒体播放器时发生NullPointerException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Android的媒体播放器时发生NullPointerException

似乎

MediaPlayer
无法创建,该
create()
方法返回了
null
指针。在官方文档说,发生这种情况时,创建失败,没有进一步的细节。

您说过,当您连续单击几次导致该方法被调用的按钮时,就会发生这种情况。这可能是由于非重入问题。

您应该尝试

MediaPlayer
用一个标志来围绕创建和使用,以防止重新进入:

public void falseAnswerPoints() {    if (!mPlayingSound) {        mPlayingSound = true;        MediaPlayer playError = MediaPlayer.create(QuizActivity.this, R.raw.error);        playError.start();    }}

mPlayingSound
成为播放
privateboolean
器的初始化成员,
false
并且
false
一旦
MediaPlayer
播放完成,您将重置为该成员(使用就
public voidsetonCompletionListener (MediaPlayer.OnCompletionListenerlistener)
可以了,尽管我不确定在异常或预期的播放终止时是否调用它)。

编辑 :有一个NullPointerException,所以有堆栈跟踪。要捕获堆栈跟踪,仅在调试中(以下代码不适合发布),您可以执行以下操作:

public void falseAnswerPoints() {    try {        MediaPlayer playError = MediaPlayer.create(QuizActivity.this, R.raw.error);        playError.start();    }    catch (NullPointerException e) {        // Set a breakpoint there to inspect the state of your app        // Then rethrow the exception to have it logged, and why not        // log extra info.    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号