2012-02-04 124 views
1

嗨,大家好我读到的视频观看播放的视频大量的实例,但对我来说没有任何一个工作,我得到这个错误:视频查看不玩本地视频

java.io.FileNotFoundException: /android.resource:/frt.com.maint/2130968576 (No such file or directory) 

这是我的代码 - -------------------------------------------------- ---------------------:

FileInputStream fi = new FileInputStream("android.resource://frt.com.maint/" + R.raw.videointro); 
     MediaPlayer pl = new MediaPlayer(); 
     pl.setDataSource(fi.getFD()); 
     pl.prepare(); 
     pl.start(); 

MediaPlayer的没有方法setVideoURI,我用的第一个解决方案,你给我,但我仍然得到同样的错误,在我用videoview代码后:

Uri video = Uri.parse("android.resource://frt.com.maint/videointro"); 
     vidview_gdf.setVideoURI(video); 
     vidview_gdf.start(); 

,但我得到消息的错误:“你不能播放视频” PS:其他信息:introvideo.mp4 - 7 MB

回答

2

您正在尝试使用的资源的ID,这仅仅是一个int索引。

使用,而不是文件名:

fi = new FileInputStream("android.resource://frt.com.maint/nitrovideo"); 

或者更好:

StringBuilder videoURIPath = new StringBuilder(); 
videoURIPath.append("android.resource://"); 
videoURIPath.append(getPackageName() + "/"); 
videoURIPath.append("raw/"); 
videoURIPath.append(videoFileName); 
pl.setVideoURI(Uri.parse(videoURIPath.toString()); 

哪里videoFileName是你的文件的名称的字符串。

+0

阅读第一篇文章 – user1001635 2012-02-04 16:18:54

+0

正在寻找一种方法来播放来自资源的视频。在最新的API中仍然很有魅力。 – Hless 2014-10-31 09:57:37

0

你在模拟器或实际设备上做这个吗?

我之前对H.264编码视频有一些不好的经验。基本上,我试图在第一张GalaxyTab上播放它,但没有奏效。原来我的GalaxyTab不支持H.264。

因此,我建议您确保默认视频播放器在继续进行之前可以播放此文件。如果这不是你的情况,那么我不知道什么是错的。你的代码对我来说看起来很好。

+0

现在我使用vidview_gdf.setVideoPath(“android.resource://frt.com.maint/”+ R.raw.videointro);和工作,但视频变成绿色:(编解码器视频是h.264,我尝试转换到另一个编解码器,但视频变得更像素和无法观看,我在设备上工作(sgs 2) – user1001635 2012-02-05 10:07:55