A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.io.*;
  2. import java.util.*;
  3. class Test
  4. {
  5. public static void main(String[] args)throws Exception
  6. {
  7. merge();
  8. }
  9. public static void merge()throws Exception
  10. {
  11. ArrayList<FileInputStream> al = new ArrayList<FileInputStream>();

  12. al.add(new FileInputStream("F:\\疯狂的小梅西1.hlv"));
  13. al.add(new FileInputStream("F:\\疯狂的小梅西2.hlv"));

  14. final Iterator<FileInputStream> it = al.iterator();
  15. Enumeration<FileInputStream> en = new Enumeration<FileInputStream>()
  16. {
  17. public boolean hasMoreElements()
  18. {
  19. return it.hasNext();
  20. }
  21. public FileInputStream nextElement()
  22. {
  23. return it.next();
  24. }
  25. };
  26. SequenceInputStream sis = new SequenceInputStream(en);

  27. FileOutputStream fos = new FileOutputStream("F:\\疯狂的小梅西.hlv");

  28. byte[] buf = new byte[1024*1024];
  29. int len = 0;

  30. while((len=sis.read(buf))!=-1)
  31. {
  32. fos.write(buf,0,len);
  33. }
  34. sis.close();
  35. fos.close();
  36. }
  37. }
复制代码
我从网上下载了足球视频,但是下载下来的时候,是分成两部分的,其实内容是连续的。
于是想用学的SequenceInputStream将两部分视频合并起来。但是,结果不成功,合并后的hlv文件大小是22M,等于前两个文件大小(11.1M和10.9M)的和。
但是播放起来却有很大的问题,只能播放一部分。
很纠结,想问下有没有试过这样做的同学 帮我解答解答疑惑?
我试过合并两个不同的MP3文件,播放起来很成功,视频文件不知道为什么不行?

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马