Android 获取MediaPlayer的状态

Android 获取MediaPlayer的状态,android,media-player,state,drawable,android-videoview,Android,Media Player,State,Drawable,Android Videoview,在我的应用程序中,我从用户那里获得多条路径(1到图像,1到音频曲目,1到视频),并将它们存储在数据库中。当启动另一个活动来查看文件时,不能保证文件仍在这些路径上,甚至根本不存在,因为用户选择了这些路径,并且可能已经删除/移动了它们。因此,我需要能够检查这些路径上的文件是否有效。 我最初的计划是简单地捕获在构造和设置每个对象时抛出的任何异常。 以下是我用来查看每一项的内容: Image - a Drawable Audio - a MediaPlayer Video - a VideoView

在我的应用程序中,我从用户那里获得多条路径(1到图像,1到音频曲目,1到视频),并将它们存储在数据库中。当启动另一个活动来查看文件时,不能保证文件仍在这些路径上,甚至根本不存在,因为用户选择了这些路径,并且可能已经删除/移动了它们。因此,我需要能够检查这些路径上的文件是否有效。 我最初的计划是简单地捕获在构造和设置每个对象时抛出的任何异常。 以下是我用来查看每一项的内容:

Image - a Drawable
Audio - a MediaPlayer
Video - a VideoView
我会通过向用户显示一个对话框来处理每个异常 但是,不会引发异常,相反,我会收到不同的错误消息

VideoView显示其自己的对话框,说“对不起,无法播放此视频”

其他人转到LogCat:

04-10 23:34:43.174: ERROR/PlayerDriver(30): Command PLAYER_SET_DATA_SOURCE completed with an error or info PVMFErrNotSupported
04-10 23:34:43.174: ERROR/MediaPlayer(271): error (1, -4)
04-10 23:34:43.365: ERROR/MediaPlayer(271): Error (1,-4)
关于如何获取MediaPlayer和VideoView的状态,或者以其他方式检查路径,您有什么想法吗


谢谢

您可以为
VideoView
MediaPlayer
设置
OnErrorListener
。如果发生错误-将调用您的侦听器。此外,您还可以使用
MediaPlayer
或使用
VideoView
检查音频和视频,因为它包含
MediaPlayer
来处理这两种情况

顺便说一句,我认为
VideoView
的侦听器实际上是在
VideoView
中的
MediaPlayer
对象中设置的