- import java.io.*;
- import java.util.*;
- class Test
- {
- public static void main(String[] args)throws Exception
- {
- merge();
- }
- public static void merge()throws Exception
- {
- ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();
- al.add(new FileInputStream("F:\\疯狂的小梅西1.hlv"));
- al.add(new FileInputStream("F:\\疯狂的小梅西2.hlv"));
- final Iterator<FileInputStream> it = al.iterator();
- Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()
- {
- public boolean hasMoreElements()
- {
- return it.hasNext();
- }
- public FileInputStream nextElement()
- {
- return it.next();
- }
- };
- SequenceInputStream sis = new SequenceInputStream(en);
- FileOutputStream fos = new FileOutputStream("F:\\疯狂的小梅西.hlv");
- byte[] buf = new byte[1024*1024];
- int len = 0;
- while((len=sis.read(buf))!=-1)
- {
- fos.write(buf,0,len);
- }
- sis.close();
- fos.close();
- }
- }
复制代码 我从网上下载了足球视频,但是下载下来的时候,是分成两部分的,其实内容是连续的。
于是想用学的SequenceInputStream将两部分视频合并起来。但是,结果不成功,合并后的hlv文件大小是22M,等于前两个文件大小(11.1M和10.9M)的和。
但是播放起来却有很大的问题,只能播放一部分。
很纠结,想问下有没有试过这样做的同学 帮我解答解答疑惑?
我试过合并两个不同的MP3文件,播放起来很成功,视频文件不知道为什么不行?
|