在我的应用程序中,我获得了用户的多个路径(从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的状态或其他检查路径的方式有什么想法吗?

谢谢!

最佳答案

您可以为OnErrorListenerVideoView设置MediaPlayer。如果发生错误-将调用您的侦听器。另外,您可以使用MediaPlayer或使用VideoView来检查音频和视频,因为其中包含MediaPlayer来处理它们。

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

08-18 18:29
查看更多