【问题标题】:How can I play a video file from a Resource?如何播放资源中的视频文件?
【发布时间】:2012-02-25 04:51:54
【问题描述】:

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

错误/AndroidRuntime(1052): android.content.ActivityNotFoundException: 找不到处理 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);

【问题讨论】:

  • 您可能希望将其改写为“如何从资源播放视频文件?” ActivityNotFound 异常在这里有点牵强。

标签: android


【解决方案1】:

不,您不必在清单中声明任何内容。您只需在清单文件中声明自己的Activities。在上述情况下,您尝试播放视频并依靠操作系统提供程序来执行此操作。正如您刚刚体验到的,并非所有设备(或模拟器)都有播放视频的应用程序。因此,您可以在这里做的最好的事情就是创建自己的Activity 来播放视频:

How to play video and audio on Android

【讨论】:

  • 感谢您的快速回答。任何想法为什么它适用于第一种情况(注释掉的 uri)但不适用于第二种情况?
  • 因为系统中没有意图过滤器识别您在第二种情况下使用的 URI 方案 (android.resource://)。
猜你喜欢
  • 2011-06-19
  • 2021-03-07
  • 1970-01-01
  • 1970-01-01
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
相关资源
最近更新 更多