2

所以我希望这不是一个重复的问题,但是,从下面的代码

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

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

4

4 回答 4

1

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

我希望这有帮助。

于 2011-01-11T18:55:56.227 回答
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();
于 2011-09-17T06:42:14.293 回答
0

试试下面的代码,这个wii肯定能解决你的问题,制作videoView,

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();  
}

我希望它会帮助你。

于 2016-04-18T04:18:19.667 回答
0

我有同样的问题并找到了解决方案。我在链接中的代码工作正常。检查我的这个问题

于 2016-06-17T18:21:18.173 回答