2010-11-23 73 views
0

我试图让视频弹出并播放。当我使用第一个URI(在下面的代码中注释掉)时,我可以得到它的工作,但是当我尝试使用第二个URI(来自资源)时,出现以下错误:如何从资源播放视频文件?

 
ERROR/AndroidRuntime(1052): android.content.ActivityNotFoundException: No Activity found to handle Intent { dat=android.resource://com.slamdunksoftware.presentation/2130968576 typ=video/* } 

从研究错误,看起来我可能需要在清单中声明一个活动,但我不确定这是否适用于此处。有人能指引我朝着正确的方向吗?

Intent in = new Intent(Intent.ACTION_VIEW); 
//Uri uri = Uri.parse(Environment.getExternalStorageDirectory().toString() + "/page4a.m4v");   
Uri uri = Uri.parse("android.resource://com.slamdunksoftware.presentation/" + R.raw.page4a); 

in.setDataAndType(uri, "video/*"); 
startActivity(in); 
+0

您可能要改写这是“我怎样才能从资源播放视频文件?” ActivityNotFound异常在这里是一个红鲱鱼的位。 – 2010-11-23 20:22:39

回答

1

不,您不必在清单中声明任何东西。您只需在清单文件中声明您自己的Activities。在上面的情况中,您正在尝试播放视频并依靠操作系统来提供一个程序来执行此操作。正如你刚刚经历的,并非所有设备(或模拟器)都有用于播放视频的应用程序。所以,你可以在这里做的最好是创建自己的Activity播放视频:

How to play video and audio on Android

+0

感谢您的快速回答。任何想法为什么它可以用于第一个案件(注释掉的uri)但不在第二个案件中? – Dittimon 2010-11-23 20:32:10