0

我正在 Android 中开发和测试一个简单的视频播放器示例。代码如下:

VideoView vid = (VideoView) findViewById(R.id.videoView1);

vid.setVideoPath("/sdcard/myvideo.mp4");
vid.setMediaController(new MediaController(this));
vid.start();
vid.requestFocus();

我正在使用 HTC ONE V。当我在手机上运行此程序时,我NullPointerException在设置视频路径的线路上得到了一条(即setVideoPath("/sdcard/myvideo.mp4"))。我认为访问存储卡有问题。

那么谁能告诉我这是在 HTC ONE V 上访问存储卡与其他手机不同的方式?如果是,那么如何访问存储卡 HTC ONE V。

4

2 回答 2

3

如果您在线上收到 NullpointerException

vid.setVideoPath("/sdcard/myvideo.mp4");

那么这表明 vid 为空。

因此,请确保setContentViewOncreate调用 findviewbyid 之前完成并确保 R.id.videoView1 存在于您设置的布局中。

正如其他人指出的那样,不要硬编码 sdcard 路径。

于 2012-08-24T11:56:17.753 回答
2

你应该使用

vid.setVideoPath(Environment.getExternalStorageDirectory().toString()+filename);

代替

vid.setVideoPath("/sdcard/myvideo.mp4");
于 2012-08-24T11:52:08.317 回答