2017-03-09 98 views
0

所以我知道有很多这方面的问题,但似乎都有相同的答案,这不是我要找的。Android在原始文件夹中播放视频(从意图启动画廊)

我在我的项目中的raw文件夹中有一个视频,我可以在我的应用程序中使用VideoView播放该视频。不过,我想利用所有电话附带的图库视频播放器,以便用户可以暂停或滚动视频。

当我尝试用ACTION_VIEW意图打开我的视频时,似乎没有可处理意图的应用程序。我手机中的文件夹中有相同的视频,画廊播放器可以播放它。我也下载了VLC,但仍然没有应用出现在列表中。这是不可能的,还是我错过了什么?

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("android.resource://" + ActivityMain.PACKAGE_NAME + "/" + R.raw.test)); 
intent.setDataAndType(Uri.parse("android.resource://" + ActivityMain.PACKAGE_NAME + "/" + R.raw.test), "video/*"); 
startActivity(Intent.createChooser(intent, "Complete action using")); 

回答

1

很少应用程序支持android.resource方案。将视频复制到文件并播放,或嵌入自己的视频播放器。

+0

但是我可以和我的手机附带的画廊一起玩。它也不支持它吗?每台手机都配备了强大的视频播放器,但无法使用它,这有什么意义? – aspirino67

+0

所以你说的是将视频从原始图像复制到手机上的位置,并通过图库打开它会起作用吗? – aspirino67

+0

@ aspirino67:“每台手机都附带一个强大的视频播放器,但无法使用它,这有什么意义?” - 有大约20亿Android设备,分布在数千种设备模型中。这些将附带预装数百个不同的视频播放器应用程序。并非所有的都是“健壮的”。此外,播放其他应用程序中嵌入的视频作为原始资源并不是特别常见的情况。 – CommonsWare

0

,我认为它应该帮助你,使用video/mp4 ...

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/"+R.raw. test); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri);intent.setDataAndType(uri, "video/mp4"); 
startActivity(intent); 
+0

它仍然无法工作,没有可以处理意图的应用程序。 – aspirino67

+0

并非所有设备都可能将活动设置为支持流式传输的视频/ mp4文件上的ACTION_VIEW。 –