尝试使用VideoView时应用崩溃

时间:2011-05-03 21:39:51

标签: android android-videoview

我刚刚开始搞乱android dev,我试图简单地播放一个在网络上的视频文件。我的Main.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"
    >
    <Button android:layout_height="wrap_content" android:id="@+id/button1" android:layout_width="wrap_content" android:text="@string/buttonText" android:onClick="clickHandler"></Button>
    <VideoView android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/MyVideoView"></VideoView>
</LinearLayout>

我的java文件如下所示:         package com.dop.videoTest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.MediaController;
import android.widget.Toast;
import android.widget.VideoView;


public class VideoTest extends Activity {
    private String path = "http://commonsware.com/misc/test2.3gp";
    private VideoView mVideoView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public void clickHandler(View view)
    {
        mVideoView = (VideoView) findViewById(R.id.MyVideoView);

        if (path == "") {
            Toast.makeText(
                    VideoTest.this,
                    "Please edit VideoViewDemo Activity, and set path"
                            + " variable to your media file URL/path",
                    Toast.LENGTH_LONG).show();

        } else {
            mVideoView.setVideoPath(path);
            mVideoView.setMediaController(new MediaController(this));
            mVideoView.requestFocus();
        }
    }
}

所以当我点击我的按钮时,它只是说“应用程序视频测试已意外停止。请再试一次。”

任何想法?

1 个答案:

答案 0 :(得分:2)

代码中的路径是

private String path = "http://commonsware.com/misc/test2.3gp";

VideoView将需要互联网访问。 很可能你没有在清单中设置互联网权限。 发生这种情况的原因之一是当您的应用程序尝试访问清单中需要显式权限声明的内容时。

互联网权限可以设置为:

< uses-permission android:name="android.permission.INTERNET" />

检查此链接: Android Manifest Documentation