Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java VideoView未播放视频(崩溃)_Java_Android - Fatal编程技术网

Java VideoView未播放视频(崩溃)

Java VideoView未播放视频(崩溃),java,android,Java,Android,我在Android Studio中为一个应用程序制作了一个VideoView。VideoView以新的视图播放视频,非常简单。它一直在工作,直到我改变了视频的来源。当我将源代码从'handleiding'更改为'handleidingengles'时,控制台出现以下错误: 05-02 22:49:59.450 26710-26710/com.company.app E/MediaPlayer﹕ Unable to create media player 05-02 22:49:59.452

我在Android Studio中为一个应用程序制作了一个
VideoView
VideoView
以新的视图播放视频,非常简单。它一直在工作,直到我改变了视频的来源。当我将源代码从
'handleiding'
更改为
'handleidingengles'
时,控制台出现以下错误:

05-02 22:49:59.450  26710-26710/com.company.app E/MediaPlayer﹕ Unable to create media player
05-02 22:49:59.452  26710-26710/com.company.app D/MediaPlayer﹕ Couldn't open file on client side, trying server side
05-02 22:49:59.459  26710-26721/com.company.app E/MediaPlayer﹕ error (1, -2147483648)
05-02 22:49:59.557  26710-26710/com.company.app E/MediaPlayer﹕ Error (1,-2147483648)
05-02 22:49:59.558  26710-26710/com.company.app D/VideoView﹕ Error: 1,-2147483648
05-02 22:49:59.586  26710-26710/com.company.app
D/AndroidRuntime﹕ Shutting down VM
05-02 22:49:59.586  26710-26710/com.company.app W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x415ddd40)
05-02 22:49:59.589  26710-26710/com.company.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.company.app, PID: 26710
    android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
            at android.view.ViewRootImpl.setView(ViewRootImpl.java:554)
            at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
            at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
            at android.app.Dialog.show(Dialog.java:286)
            at android.app.AlertDialog$Builder.show(AlertDialog.java:951)
            at android.widget.VideoView$5.onError(VideoView.java:515)
            at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2264)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5086)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)
这是我的代码:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.video);


        FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

        FrameLayout fl = new FrameLayout(this);

        fl.setLayoutParams(lp);


          final int INSERT_ID = Menu.FIRST;


            System.gc();
            Intent i = getIntent();
            Bundle extras = i.getExtras();

            VideoView vv = new VideoView(getApplicationContext());
            setContentView(vv);

        FrameLayout.LayoutParams lp2 = new FrameLayout.LayoutParams(lp);

        lp2.gravity = Gravity.CENTER;

        vv.setLayoutParams(lp2);
            vv.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.handleidingengels));
            vv.setMediaController(new MediaController(this));
            vv.requestFocus();
            vv.start();

        vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

            @Override
            public void onPrepared(MediaPlayer mp) {

                mp.setVolume(0, 0);
            }
        });
        }





    private void createNote() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
问题是这条线

VideoView vv = new VideoView(getApplicationContext());
您需要创建活动上下文

VideoView vv = new VideoView(this);

现在它给出了一个错误,即电影无法播放“无法创建媒体播放器”“无法在客户端打开文件,正在尝试服务器端”检查。您为视频视图传递的URI,为什么在那里使用drawable?