如何从sd文件夹播放视频

时间:2011-01-11 17:15:17

标签: java android video sd-card android-sdcard

所以我希望这不是一个重复的问题,而是来自以下代码

File f = new File(Environment.getExternalStorageDirectory(), TRYVID);  
Uri uri = Uri.fromFile(f);
mc = new MediaController(this);
mp.setMediaController(mc);
mp.setVideoPath("/sdcard/try2.mp4");

这是按下按钮时调用的函数的一部分,我希望实现的是当用户按下某个键时,视频会播放,但我已经知道视频视图不会播放任何内容原始文件夹,所以我将视频复制到SD卡,但然后我按下模拟器上的按钮,它只是崩溃说它必须意外关闭。我尝试了.setVideoPath以及.setUri,但两者都不起作用,有人可以在这里指出我的问题吗?

4 个答案:

答案 0 :(得分:1)

好的,首先,您需要确保在mediaController上使用.setAnchorView(View v),否则它无法正确控制videoView。您还缺少.start()来实际启动视频。最近我从rstp视频文件中做了类似的流式传输,我可以告诉你,它有可能无法工作,因为你在模拟器上运行它,AVD上的视频播放通常不起作用。如果您有权访问物理设备,请尝试在物理设备上运行它,也可以阅读logcat以更好地了解错误发生的位置。

我希望这会有所帮助。

答案 1 :(得分:1)

要从SD卡播放视频文件,您可以尝试:

String filepath = Environment.getExternalStorageDirectory()+"/a.mp4";
VideoView vv = new VideoView(getApplicationContext());
setContentView(vv);
vv.setVideoPath(filepath);
vv.setMediaController(new MediaController(this));
vv.requestFocus();
vv.start();

答案 2 :(得分:0)

尝试以下代码,这肯定会解决您的问题, 制作视频,

VideoView videoView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    videoView = (VideoView)findViewById(R.id.VideoView);        
    videoView.setVideoPath("/sdcard/blonde_secretary.3gp");
    videoView.start();  
}

我希望它会对你有所帮助。

答案 3 :(得分:0)

我有同样的问题并找到了解决方案。我在链接中的代码工作正常。 查看this question of mine