2011-04-11 91 views
1

在我的应用程序中,我从用户(1到图像,1到音频轨道,1到视频)获取多条路径并将它们存储在数据库中。当另一个活动开始查看这些文件时,并不能保证这些文件仍然处于这些路径中,甚至根本不存在,因为用户选择了这些文件并且可能已经删除/移动了它们。因此,我需要能够检查这些路径中的文件是否有效。 我原来的计划是简单地捕捉构建每个对象时引发的异常。 下面是我用什么来查看每个:获取MediaPlayer的状态

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状态或其他方式检查路径的想法?

谢谢!

回答

2

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

顺便说一句,我认为VideoView听者在MediaPlayer对象中的VideoView

实际设置