java-求解读JAVA代码,为什么MP4文件不能播放?

问题描述

求解读JAVA代码,为什么MP4文件不能播放? 12C
下载的一个压缩包(压缩包内含mp4文件、字幕文件等),压缩包有密码,android程序用密码打开压缩文件,并执行一系列操作后,程序自动播放压缩包内的MP4文件,但MP4文件不能直接使用播放器播放,求解答如何能让mp4文件用播放器播放 。。。谢谢 。。。这里是完整代码下载链接:点击下载完整代码,(用JD-GUI直接查看Jar内的代码、0000208821-DF705DD4是去掉了扩展名的压缩文件)

下面是部分代码(代码位于jar文件内的nc.class):

import android.widget.Toast;import com.is.piano.base.ISApp;import com.ispiano.crc64.Algorithm;import java.io.File;import java.io.PrintStream;import java.util.List;import net.lingala.zip4j.core.ZipFile;import net.lingala.zip4j.exception.ZipException;import net.lingala.zip4j.model.FileHeader;import net.lingala.zip4j.model.ZipParameters;public class nc{  public static boolean a(String paramString1 String paramString2)  {    long l1 = System.currentTimeMillis();    ZipFile localZipFile;    File localFile;    try    {      localZipFile = new ZipFile(paramString1);      localZipFile.setFileNameCharset(""GBK"");      if (localZipFile.isValidZipFile())        break label101;      mh.b(paramString1);      throw new ZipException(""u538Bu7F29u6587u4EF6u4E0Du5408u6CD5u53EFu80FDu88ABu635Fu574F."");    }    catch (ZipException localZipException)    {      localZipException.printStackTrace();      localFile = new File(paramString2);      if (!localFile.exists())        break label99;    }    File[] arrayOfFile;    int i;    if (localFile.isDirectory())    {      arrayOfFile = localFile.listFiles();      i = arrayOfFile.length;    }    for (int j = 0; ; j++)    {      if (j >= i)      {        label99: return false;        label101: if (localZipFile.isEncrypted())          localZipFile.setPassword(""ISPiano Zhang"");        List localList = localZipFile.getFileHeaders();        long l2 = 0L;        for (int k = 0; ; k++)        {          if (k >= localList.size())          {            if (l2 <= mh.b())              break;            return false;          }          l2 += ((FileHeader)localList.get(k)).getUncompressedSize();        }        localZipFile.extractAll(paramString2);        mh.b(paramString1);        System.out.println(""u89E3u538Bu8017u65F6uFF1A"" + (System.currentTimeMillis() - l1));        return true;      }      arrayOfFile[j].delete();    }  }  public static boolean a(String paramString1 String paramString2 String paramString3)  {    System.out.println(""unzipUnfinishFile + paramString1);    while (true)    {      int i;      try      {        String str1 = mh.c() + ""/ispiano/package_cache/"" + paramString1;        ZipFile localZipFile = new ZipFile(str1);        if (!localZipFile.isValidZipFile())          return false;        localZipFile.setPassword(""ISPiano Zhang"");        List localList = localZipFile.getFileHeaders();        Algorithm localAlgorithm = new Algorithm();        i = 0;        if (i < localList.size())          continue;        eg localeg = new eg();        localeg.a(Long.parseLong(paramString3.substring(0 8) + ""00"") paramString2);        localeg.g();        mh.b(str1);        new File(mh.c() + ""/ispiano/package_cache/"" + ""dir_"" + paramString1).delete();        return true;        FileHeader localFileHeader = (FileHeader)localList.get(i);        String str2 = localFileHeader.getFileName();        long l = localFileHeader.getUncompressedSize();        String str3 = localAlgorithm.getFileName(paramString2 + paramString3 + str2);        File localFile = new File(mh.c() + ""/ispiano/video_cache/"" + str3);        mi.c(""jing"" str3 + "" + str2 + ""   "" + localFile.length() + "" + l);        if ((!localFile.exists()) || (localFile.length() != l))        {          mh.b(mh.c() + ""/ispiano/video_cache/"" + str3);          if (mh.b() >= l)            continue;          Toast.makeText(ISApp.a() 2131230828 0).show();          return false;          mh.a(mh.c() + ""/ispiano/package_cache/"" + ""dir_"" + paramString1);          mh.a(mh.c() + ""/ispiano/video_cache/"");          localZipFile.extractFile(str2 mh.c() + ""/ispiano/package_cache/"" + ""dir_"" + paramString1);          new File(mh.c() + ""/ispiano/package_cache/"" + ""dir_"" + paramString1 + ""/"" + str2).renameTo(new File(mh.c() + ""/ispiano/video_cache/"" + str3));        }      }      catch (ZipException localZipException)      {        localZipException.printStackTrace();        return false;      }      i++;    }  }  public static boolean b(String paramString1 String paramString2)  {    try    {      ZipFile localZipFile = new ZipFile(paramString2);      ZipParameters localZipParameters = new ZipParameters();      localZipParameters.setCompressionMethod(8);      localZipParameters.setCompressionLevel(5);      localZipFile.addFolder(paramString1 localZipParameters);      return true;    }    catch (ZipException localZipException)    {      localZipException.printStackTrace();    }    return false;  }  public static boolean c(String paramString1 String paramString2)  {    try    {      new ZipFile(paramString1).extractAll(paramString2);      return true;    }    catch (ZipException localZipException)    {      localZipException.printStackTrace();    }    return false;  }}

解决方案

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 创建VideoView对象 /
final VideoView videoView = (VideoView) findViewById(R.id.VideoView01);
/
设置路径 /
videoView.setVideoPath(""/sdcard/test.mp4"");
/
设置模式-播放进度条 */
videoView.setMediaController(new MediaController(Activity01.this));
videoView.requestFocus();
videoView.start();
}
你都没有加载Android内置的视频播放器,系统也不会从你的压缩文件里面加载,这是逻辑问题

解决方案二:
你学习一下怎么播放mp4然后迁到这个功能就好了

解决方案三:
需要下载DVE转换软件,视频文件,必须转换时可以使用!你是MP4转换DVD格式就行,再转换DVI,再转换MP4这样,才行,

时间: 2024-11-02 21:52:13

java-求解读JAVA代码,为什么MP4文件不能播放?的相关文章

在C#如何用代码获取视频文件的播放时长

问题描述 在C#中如何用代码获取视频文件的播放时长!!!!! 解决方案 解决方案二:简单的方式是调用ffmpeg,ffmpeg-i一下,需要什么信息,解析一下输出内容就好了.解决方案三: 解决方案四:2种方法结合,因为Shell获取时间不是百分百成功的,如果不行就ffmepg,再不行就mediaplayer取,一般需要多个方法结合使用

自学JAVA 求个JAVA编程工具

问题描述 求个JAVA编程工具最好是汉语版的有的给个连接谢谢 解决方案 解决方案二:myeclipse有汉化版的!解决方案三:http://www.gougou.com/search?search=eclipse&id=1点第一个下载解决方案四:要是作为程序员连个开发工具都要别人给你链接地址下载,那就建议楼猪别学这个了,因为就算你这样会程序了,以后遇到问题很多,这样的能力都没,很难往后发展了,别以后说我连mysql数据库没驱动,让别人给你一个mysqlJDBC驱动下载链接地址......这样的问

nginx开发(二)配置mp4文件在线播放

1: 第一步先开打nginx的文件夹遍历功能   vi /usr/local/nginx/conf/nginx.conf #编辑配置文件,在http {下面添加以下内容: autoindex on; #开启nginx目录浏览功能 autoindex_exact_size off; #文件大小从KB开始显示 autoindex_localtime on; #显示文件修改时间为服务器本地时间 :wq! #保存,退出   2: nginx -s stop #停止nginx     nginx    

使用mp4v2将H264+AAC合成mp4文件

  录制程序要添加新功能:录制CMMB电视节目,我们的板卡发送出来的是RTP流(H264视频和AAC音频),录制程序要做的工作是: (1)接收并解析RTP包,分离出H264和AAC数据流: (2)将H264视频和AAC音频以某种格式封装,最后存成文件,供用户查看. 第一步已经有部分代码可供参考,因此很快就完成了. 第二步,我们决定封装成mp4,查找了一些资料后,决定使用开源库mp4v2来合成mp4文件. 技术路线已确定,就开工干活. (一)mp4格式的基础知识. 关于mp4格式,网上介绍的不少,

嵌入式 使用mp4v2将H264+AAC合成mp4文件

录制程序要添加新功能:录制CMMB电视节目,我们的板卡发送出来的是RTP流(H264视频和AAC音频),录制程序要做的工作是: (1)接收并解析RTP包,分离出H264和AAC数据流: (2)将H264视频和AAC音频以某种格式封装,最后存成文件,供用户查看.   第一步已经有部分代码可供参考,因此很快就完成了. 第二步,我们决定封装成mp4,查找了一些资料后,决定使用开源库mp4v2来合成mp4文件. 技术路线已确定,就开工干活.   (一)mp4格式的基础知识. 关于mp4格式,网上介绍的不

跪求java导出excel表格代码

问题描述 跪求java导出excel表格代码 方法执行了一点效果也没有,后台也没报错 解决方案 你可以 断点看下处理流程 及返回结果 解决方案二: 你可以 断点看下处理流程 及返回结果 解决方案三: 导出EXCEL表格的代码java写的excel表格数据导出代码java导出excel表格 解决方案四: 自己要学会排错,导出还是很简单的 解决方案五: 分块判断代码,先注释掉生成Excel代码,直接返回一个现有文件,看看浏览器上是否能收到返回流,这样确定响应返回文件的代码正确. 其次检查文件生成代码

java 新手,求检查改正代码

问题描述 java 新手,求检查改正代码 题目要求: 文件夹中给出的源程序Main.java,StuList.java,Student.java,填补其中的空缺内容. 要求: (1)StuList.java和Student.java在同一个包中. (2)Main.java在无名包中. 其中,Main.java中的类使用到StuList.java和Student.java中的成员变量或者成员方法. 本实验中的源程序可以完成如下任务: 创建学生链表,从键盘上输入学生信息加入学生链表,添加学生信息,删

java求双色球模拟要有JFrame窗口的代码加设计思路

问题描述 java求双色球模拟要有JFrame窗口的代码加设计思路 求双色球模拟要有JFrame窗口的代码加设计思路.求算法简单点的,万分感谢 解决方案 红球1-33,随机选6个,蓝球1-16随机选一个,就是一个随机数吧,有什么具体的要求么.

效果-求一个java 类型的 双直立插值算法放缩处理图片代码?

问题描述 求一个java 类型的 双直立插值算法放缩处理图片代码? 网上很多代码调用之后生成的图片 不是黑色的 就是放大后没什么效果 解决方案 有没有人知道啊 怎么解决