我尝试使用phonegap从原始文件夹播放视频。 我稍微修改了原始插件。 这是代码:
Uri uri = Uri.parse( "android.resource://" + getPackageName() + "/raw/"+R.raw.test);
// Uri uri = Uri.parse("http://www.test.sociato.de/test.mp4");
Intent intent = null;
// Display video player
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "video/*");
this.ctx.startActivity(intent);
视频位于原始文件夹中,名为test.mp4。 代码不起作用。
我认为视频的网址不正确? 我会很高兴得到任何帮助。
答案 0 :(得分:2)
我和这个人摔了一会儿。我可以从Android资源播放视频的唯一方法是先将其复制到SD卡。这是我的代码:
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/myfolder");
if(dir.isDirectory() != true) {
dir.mkdirs();
InputStream ins = getResources().openRawResource(R.raw.myvid);
int size = ins.available();
// Read the entire resource into a local byte buffer.
byte[] buffer = new byte[size];
ins.read(buffer);
ins.close();
FileOutputStream fos = new FileOutputStream(new File(dir, "myvid.m4v"));
fos.write(buffer);
fos.close();
}
File myvid = new File(dir, "myvid.m4v");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(myvid), "video/*");
this.startActivity(intent);
答案 1 :(得分:1)
我认为您无法播放应用程序私有包中的视频到默认视频播放器,因为您的默认视频播放器无法识别此路径。
要使其播放,您必须copy this video file in sdcard
,然后提供该文件的URI,在这种情况下,它可以正常工作。
答案 2 :(得分:-1)
我已经成功播放了一个视频文件,我直接从该资源加载到res / raw文件夹中。
这是在
中完成的Android 1.5
API Level 3
文件大小低于50M
我的代码段如下
Uri video= Uri.parse("android.resource://MYPACKAGENAME/" + R.raw.presence);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
我看到的主要问题是让App识别原始文件夹中的mp4文件
我是Android开发的新手,但这就是我所做的,我希望它有所帮助。
在我输入“R.raw”的第一行中,Eclipse将其显示为错误,我键入了句点并期望Eclipse向我显示资源的快速列表,但它不存在。
我在另一篇文章中读到要对项目进行清理,当我点击PROJECT - CLEAN资源被识别时,资源列表将被刷新。
我认为需要的另一件事是文件名必须只是小写。 当它是混合的情况下它不会出现。
希望这有帮助。
答案 3 :(得分:-1)
以上代码:
Uri video= Uri.parse("android.resource://MYPACKAGENAME/" + R.raw.presence);
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.start();
对我来说很棒!
MYPACKAGENAME =完整的套餐名称。我被困在这里一分钟。