Android VideoView SD卡不工作

Android VideoView SD卡不工作,android,android-videoview,android-sdcard,Android,Android Videoview,Android Sdcard,我正在尝试使用Android的VideoView在我的设备上播放sdcard文件夹的视频。它以前似乎工作得很好,但我重构了一些代码,现在似乎无法让它工作。以下是一个示例: // filepath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4" videoView = new VideoView(AkadiApplication.Instance().getApplicationContext()); vide

我正在尝试使用Android的VideoView在我的设备上播放sdcard文件夹的视频。它以前似乎工作得很好,但我重构了一些代码,现在似乎无法让它工作。以下是一个示例:

// filepath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"
videoView = new VideoView(AkadiApplication.Instance().getApplicationContext());
videoView.setVideoURI(Uri.parse(filePath));
videoView.start();
videoView.requestFocus();
我已通过应用程序验证该文件是否存在,因此我知道它不是FileNotFound问题

另外,如果我设置了一个onComplete回调函数,那么调用它的时候就好像播放的视频一样(没有视频或声音,只有一个黑色的方块显示视图)。我知道视频编解码器是有效的,因为设备在我的应用程序之外播放它。我认为这可能与权限问题有关:


在layout.xml文件中创建视频视图

 <VideoView android:id="@+id/video_view"
             android:layout_width="fill_parent"
             android:layout_height="fill_parent">
</VideoView>

这里面的代码是什么?尝试将构造函数更改为
videoView=newvideoview(akadiplication.this)您如何将视频视图添加到屏幕?仅凭您发布的代码,我看不出VideoView是如何添加到屏幕上的。对不起,我应该解释什么是AkadApplication,它是应用程序的一个单独部分。它让我无论身在何处都能接触到上下文。这段代码在一个函数中,该函数应该返回一个视图,在本例中是一个已初始化并正在播放的VideoView。没有包含VideoView的布局文件,我正在以编程方式将所有内容添加到活动中。
VideoView mVideoView = (VideoView) findViewById(R.id.video_view); 
mVideoView.setVideoURI(uri);
mVideoView.requestFocus();
mVideoView.start();