所以我希望这不是一个重复的问题,而是来自以下代码
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,但两者都不起作用,有人可以在这里指出我的问题吗?
答案 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