0

我编写了这段代码来尝试将视频流式传输到我的 Android 设备。单击图标后,应该会出现一个弹出窗口,其中包含 VideoView。但是,每当我单击图像触发弹出窗口时,它都会强制关闭。我正在使用的 URL 显然可以流式传输到设备,我从另一个 SO 问题中得到它。这是我班上的代码。

    video.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            final Dialog dialog = new Dialog(context);
            dialog.setContentView(R.layout.pop_up);
            dialog.setTitle("Safe Cracker Overview");

            VideoView vv = (VideoView)findViewById(R.id.vv01);
            MediaController mc = new MediaController(context);
            mc.setAnchorView(vv);
            mc.setMediaPlayer(vv);
            vv.setMediaController(mc);
            vv.setVideoURI(Uri.parse("http://hermes.sprc.samsung.pl/widget/tmp/testh.3gp"));
            vv.requestFocus();
            vv.start();
            Button ok = (Button)findViewById(R.id.but01);

            ok.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    dialog.dismiss();
                }
            });

            dialog.show();
        }
    });

以及弹出布局的 XML:

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

    <VideoView
        android:id="@+id/vv01"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_marginTop="20dp"
        android:background="#0000" >
    </VideoView>

    <Button
        android:id="@+id/but01"
        android:layout_width="150dp"
        android:layout_height="40dp"
        android:layout_gravity="center"
        android:layout_marginTop="10dp"
        android:background="@drawable/green_button"
        android:text="@string/back"
        android:textColor="@color/white"
        android:textSize="16dp" >
    </Button>

</LinearLayout>

任何人都可以在这里看到这个问题吗?谢谢

4

2 回答 2

1

你忘了给出参考dialog for VideoView and Button.

VideoView vv = (VideoView)dialog.findViewById(R.id.vv01);
                          ^^^^^^  
Button ok = (Button)dialog.findViewById(R.id.but01);
                    ^^^^^^ 
于 2012-07-18T14:52:26.497 回答
1

改变

VideoView vv = (VideoView)findViewById(R.id.vv01);

VideoView vv = (VideoView)dialog .findViewById(R.id.vv01);

Button ok = (Button)findViewById(R.id.but01);Button ok = (Button)dialog .findViewById(R.id.but01);

于 2012-07-18T14:53:22.877 回答