在我的Android应用程序中,我使用MediaPlayer播放声音。但是,MediaPlayer需要注册一堆不同的侦听器:onPreparedListener
,onCompletionListener
,onSeekCompleteListener
等。如果没有它们,MediaPlayer会向logcat发出错误消息:
12-10 19:28:03.605: E/MediaPlayer(1820): mOnCompletionListener is null. Failed to send MEDIA_PLAYBACK_COMPLETE message.
我的应用程序不需要对这些事件做任何事情,因此不需要听众。处理这个问题的标准方法是什么?我应该注册空白听众吗?我不应该注册任何听众吗?如果是这样,我该如何关闭错误信息?
答案 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。无论如何,看起来简单的解决方法是只使用空回调方法添加侦听器。我希望这会有所帮助。