如何关闭有关null侦听器的Android MediaPlayer投诉

时间:2012-12-11 03:34:45

标签: java android media-player

在我的Android应用程序中,我使用MediaPlayer播放声音。但是,MediaPlayer需要注册一堆不同的侦听器:onPreparedListeneronCompletionListeneronSeekCompleteListener等。如果没有它们,MediaPlayer会向logcat发出错误消息:

12-10 19:28:03.605: E/MediaPlayer(1820): mOnCompletionListener is null. Failed to send MEDIA_PLAYBACK_COMPLETE message.

我的应用程序不需要对这些事件做任何事情,因此不需要听众。处理这个问题的标准方法是什么?我应该注册空白听众吗?我不应该注册任何听众吗?如果是这样,我该如何关闭错误信息?

1 个答案:

答案 0 :(得分:2)

我不确定您使用的API级别,但这些错误消息似乎不在API 14+的Android源代码中。错误消息可能出现在以前版本的Android的MediaPlayer类中。如果您安装了最新的SDK并且下载了源代码,则该类位于:/sdk/sources/android-/android/media/MediaPlayer.java。请注意,“TAG”变量定义为:

private final static String TAG = "MediaPlayer";

使用以下命令设置OnCompletionCallback:

public void setOnCompletionListener(OnCompletionListener listener)
{
    mOnCompletionListener = listener;
}

这再次证实了我怀疑您可能正在使用较旧的SDK。无论如何,看起来简单的解决方法是只使用空回调方法添加侦听器。我希望这会有所帮助。