我有一个包含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文件位于同一目录中。
有什么想法吗?
答案 0 :(得分:0)
尝试从以下资源中复制mp4:
android.content.res.Resources isVideo = somename.mContext.getResources();
使用:
InputStream VideoReader = isVideo .openRawResource(R.raw.resources);