Android:尝试从 URI 播放视频时应用程序强制关闭
Posted
技术标签:
【中文标题】Android:尝试从 URI 播放视频时应用程序强制关闭【英文标题】:Android: app forces close when trying to play video from URI 【发布时间】:2012-07-18 14:47:13 【问题描述】:我编写了这段代码来尝试将视频流式传输到我的 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_
android:layout_
android:orientation="vertical" >
<VideoView
android:id="@+id/vv01"
android:layout_
android:layout_
android:layout_marginTop="20dp"
android:background="#0000" >
</VideoView>
<Button
android:id="@+id/but01"
android:layout_
android:layout_
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>
任何人都可以在这里看到问题吗?谢谢
【问题讨论】:
【参考方案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);
【讨论】:
它不再强制关闭并且现在出现弹出窗口,但视频没有出现在弹出窗口中!【参考方案2】:你忘了给dialog for VideoView and Button.
的引用
VideoView vv = (VideoView)dialog.findViewById(R.id.vv01);
^^^^^^
Button ok = (Button)dialog.findViewById(R.id.but01);
^^^^^^
【讨论】:
以上是关于Android:尝试从 URI 播放视频时应用程序强制关闭的主要内容,如果未能解决你的问题,请参考以下文章