【问题标题】:Android intent to video player to play video in res/raw fileAndroid 意图让视频播放器在 res/raw 文件中播放视频
【发布时间】:2015-04-25 17:06:59
【问题描述】:

我是 Android 新手,使用堆栈 android 视频播放器播放视频时遇到问题。我到处搜索答案,但没有找到。

我的代码是:

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.lp);
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setPackage(getPackageName());
intent.setDataAndType(uri, "video/*");
startActivity(intent);

它不起作用并且应用程序崩溃。怎么了。这取决于智能手机型号吗?我的智能手机型号是 THL 5000,Android 4.4.2。

谢谢!

【问题讨论】:

    标签: android video


    【解决方案1】:

    尝试像这样初始化。这对我有用

    Uri.parse("android.resource://" + getPackageName() + "/raw/file_name");
    

    【讨论】:

    • 它显示了 ActivityNotFoundException: '没有找到处理 Intent 的 Activity { act=android.intent.action.VIEW dat=android.resource://example.qqq.com.dcp/raw/lp. mp4 typ=video/* pkg=example.qqq.com.dcp }'
    • if(getContext().getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {}
    【解决方案2】:

    很遗憾,其他应用(Android 意图)无法访问您的资源。

    1. 您需要创建一个 ContentProvider,或将数据存储在任何人都可以访问的位置(SD 卡或本地存储的公共文件夹中)1
    2. 另一个解决方案可能是使用 Android MediaPlayer。 MediaPlayer 可以从 URL 或您的资源运行音频和视频文件,其中源文件位于您的设备上。要播放视频文件,您需要将其与 SuffaceView 结合使用。 Here 就是一个完整的例子。
    3. 一种快速且最简单的解决方案是在 WebView 中播放视频。该视频位于资产文件夹中,只需打开“file:///android_asset/video.mp4”网址即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 2010-12-07
      • 2014-05-01
      • 1970-01-01
      • 2013-07-21
      • 1970-01-01
      相关资源
      最近更新 更多