0
     VideoView v = (VideoView) findViewById(R.id.VideoView01);
     Uri uri = Uri.parse("android.resource://" + getPackageName() + "vid.mp4");
     mc = new MediaController(this);
     v.setMediaController(mc);
     v.setVideoURI(uri);
     v.start();

出现一个警告框,提示无法播放视频。您有解决方法吗?

提前致谢

4

1 回答 1

0

这是一个 linux 文件系统权限问题。文件的位置完全由您的应用程序拥有。从文件系统的角度来看,MediaPlayer服务 ViewView 依赖于作为不同的“用户”运行。

我过去解决这个问题的方法是创建一个自定义 VideoView 扩展SurfaceView,它将FileDiscriptor作为它的数据源

就文件系统而言,这方面通过提供与已经打开的数据的连接来解决问题。

如果您感觉活泼,您可以从 google下载 VideoView 代码并添加一个新的 setVideoFileDiscriptor 方法。

于 2012-08-24T16:04:25.850 回答