1

在我的应用程序中,我从用户那里获得了多条路径(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 的状态或以其他方式检查路径的任何想法?

谢谢!

4

1 回答 1

2

您可以设置OnErrorListenerforVideoView和 for MediaPlayer。如果发生错误 - 您的侦听器将被调用。MediaPlayer此外,您可以使用或使用检查音频和视频,VideoView因为它MediaPlayer无论如何都包含处理两者。

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

于 2011-04-11T13:36:31.257 回答