1

我试图打开这样的 mp4 视频:

VideoView myVideoView = new VideoView(this);
myVideoView.setVideoURI(Uri.parse(path[idImage]));
myVideoView.setLayoutParams(new LinearLayout.LayoutParams(
                                            LayoutParams.FILL_PARENT,
                                            LayoutParams.FILL_PARENT));
myVideoView.setMediaController(new MediaController(this));
myVideoView.requestFocus();
myVideoView.start();

但我在屏幕上什么也看不到。我错过了什么?

我的 xml 文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="#000000"
    android:id="@+id/layout_main">

    <ViewFlipper android:id="@+id/details"
        android:layout_width="fill_parent" android:layout_height="fill_parent">
    </ViewFlipper>

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

</LinearLayout>
4

2 回答 2

2

我知道我正在回答一个已经回答的问题,但它可能会对通过搜索登陆这里的人有所帮助。

我无法从 API 示例中获取 Android 的 VideoView 来播放任何文件,但这是我的错误。

  1. 我从根目录输入路径,例如/videoFileName.mp4,我应该在/sdcard/videoFileName.mp4之间用 sdcard 输入它

  2. 在我通过 adb 运行我的应用程序的同时,我的 Sony Ercisson Xperia Arc 作为 USB 大容量设备存储连接,因此内部 sd 卡被卸载并且找不到文件。当我在三星 Galaxy S 上尝试相同的代码时,我发现了这一点,它在连接时表现不同。

于 2012-01-24T14:15:36.973 回答
0

您要么需要在布局中声明 VideoView 标签,例如

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

并使用实例化:

VideoView videoView = (VideoView) findViewById(R.id.VideoView);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
// Set video link (mp4 format )
Uri video = Uri.parse(path[idImage]);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
于 2011-11-17T14:22:38.407 回答