使用资产中的html5打开视频

时间:2011-02-28 17:42:59

标签: java android html5

我有一个包含HTML和mp4文件的应用。我在HTML代码中使用<video>标记播放这些mp4视频文件。我只有当mp4文件在sdcard中时才能成功,但是当我将mp4文件添加到资产或休息文件夹时,视频无法播放。 我阅读了资产文件夹(* .mp4)中的所有视频,并将这些文件复制到:

/数据/数据/ packaganame /

我从资源复制到“/ data / data / packaganame /”文件夹的代码是:

InputStream isVideo = null;
isVideo = getApplicationContext().getAssets().open("video.mp4");
File fl = new File("/data/data/packaganame/videoout.mp4");
bufEcrivain = new BufferedOutputStream((new FileOutputStream(fl)));
VideoReader = new BufferedInputStream(isVideo);
byte[] buff = new byte[32 * 1024];
int len;
while( (len = VideoReader.read(buff)) > 0 ){
    bufEcrivain.write(buff,0,len);
}
bufEcrivain.flush();
bufEcrivain.close();

我为每个视频执行此代码,我没有任何异常。但是当我尝试播放视频时,我得到:“无法播放视频”。

我的HTML代码是正确的,因为从sdcard读取<video>标记时它可以正常工作:

<video onclick="this.play();" 
       width="308" height="288" 
       autobuffer="autobuffer" controls="controls"
       tabindex="0">
  <source src="videoout.mp4">
</video>

我的视频和我的HTML文件位于同一目录中。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试从以下资源中复制mp4:

android.content.res.Resources isVideo = somename.mContext.getResources();

使用:

InputStream VideoReader = isVideo .openRawResource(R.raw.resources);