当前位置: 首页 > news >正文

网站维护外包合同网站在建设中页面

网站维护外包合同,网站在建设中页面,如和建立网站,郑州电力高等专科学校男女比例原库地址 https://gitcode.com/gh_mirrors/vi/VideoCompressor/overview 这个库用起来比较方便#xff0c;使用Android原生的MediaCodecmp4parser的方式进行压缩#xff0c;不用接入so库也不用适配cpu 问题 接口库后你会发现过时了#xff0c;所以你一阵捣鼓后你发现压缩…原库地址 https://gitcode.com/gh_mirrors/vi/VideoCompressor/overview 这个库用起来比较方便使用Android原生的MediaCodecmp4parser的方式进行压缩不用接入so库也不用适配cpu 问题 接口库后你会发现过时了所以你一阵捣鼓后你发现压缩正常但是输出文件没有声音问题是什么经过我一天的修改问题是因为你升级了mp4parser库他接入的是com.googlecode.mp4parser:isoparser:1.0.6不论你升级到什么版本都会出现没有声音的问题那是因为谷歌的问题在1.0.6后在编码的时候更加严格所以你不升级就ok了 真的不升级 随着时间的发展旧版本库无法满足需求性能各方面都是差异而且这是7年前的库了所以你必须升级那么怎么解决问题呢 分析问题 问题代码 在1.0.6库之前和之后主要的出现问题代码就在createMovie中的创建FileChannel的问题1.0.6支持你FileOutputStream.getChannel()这样创建但是1.0.6之后不可以这样这样就会导致音视频无法同步所以你需要更换创建方法new RandomAccessFile(destinationPath, rw).getChannel()其中destinationPath输出文件地址修改了这一行你会发现好了 其他解决思路 这个库的压缩思路 获取视频的track,然后利用MediaCodec对原视频进行解码 获取原视频的宽高、帧率等进行一定的比例缩放 在利用MediaCodec进行视频编码输出一个只有视频没有声音的文件 在利用相同的方式获取音频的track,然后读取音频读写 最后对音视频进行合并他是再同一个输出文件上读写的 完结 所以根据上面思路你完全可以分开 先利用MediaCodec对视频进行压缩输出到缓存目标文件A 在读取原文件的音频 合并两个文件输出到真正的目录B这里不可以和缓存目标文件A相同必须不同的文件 把思路简化下代码大概是这样是不是很简单其实思路就这么点代码 public static void appendMp4List(Context context, Uri sourcePath, String outPutPath) throws Exception {VideoInfo videoInfo VideoUtils.getVideoInfo(context, sourcePath);if (videoInfo null || videoInfo.width() 0 || videoInfo.height() 0) {return;}File tempFile VideoUtils.copyFileToCacheDir(context, sourcePath);ListTrack audioTracks new LinkedList();// 音频通道集合ListTrack videoTracks new LinkedList();// 视频通道集合for (Track inMovieTrack : MovieCreator.build(tempFile.getAbsolutePath()).getTracks()) {if (soun.equals(inMovieTrack.getHandler())) {// 从Movie对象中取出音频通道audioTracks.add(inMovieTrack);}if (vide.equals(inMovieTrack.getHandler())) {// 从Movie对象中取出视频通道videoTracks.add(inMovieTrack);}}Movie resultMovie new Movie();// 结果Movie对象[输出]if (!videoTracks.isEmpty()) {// 将所有视频通道追加合并writerVideo(tempFile,videoInfo,outPutPath);//压缩视频但这样输出的只有视频没有音频ListTrack resultVideoTrack MovieCreator.build(outPutPath).getTracks();for(Track videoTrack:resultVideoTrack){resultMovie.addTrack(videoTrack);}}if (!audioTracks.isEmpty()) {// 将所有音频通道追加合并resultMovie.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));}Container outContainer new DefaultMp4Builder().build(resultMovie);// 将结果Movie对象封装进容器FileChannel fileChannel new RandomAccessFile(outPutPath, rw).getChannel();outContainer.writeContainer(fileChannel);// 将容器内容写入磁盘fileChannel.close();} 最终的优化有的代码查看github https://github.com/fzkf9225/mvvm-componnent-master/tree/master/commonmedia/src/main/java/pers/fz/media/videocompressor
http://www.hkea.cn/news/14498409/

相关文章:

  • 选择网站设计公司佛山青岛seo代理计费
  • 怎么做网站的登录界面怎么做舞曲网站
  • 网站建设的互动性电影网页设计教程
  • 双语版网站怎么做iis如何做同时运行两个网站80端口
  • 域名购买网站有哪些问题微信公众平台小程序二维码怎么生成
  • 单页面网站怎么做wordpress 新建导航
  • 如何做新网站保留域名知名中文网站建设
  • 陕西恒发建设网站技术支持 东莞网站建设防水工程
  • 电子商务网站建设与管理教材做公司网页步骤
  • 建设企业网站e路护航官网下载网站简历
  • 做行业门户网站要投资多少钱网站打开速度变慢
  • 英文网站模板制作深圳防疫措施优化
  • php网站开发实例项目网站建设国家和行业标准
  • 网站建设技术公司排名wordpress 4.9.1 漏洞
  • 最好的汽车科技网站建设柘城县网站建设
  • 西安企业建站费用o2o型网站
  • 做网站需要懂哪些语言工信部域名查询
  • 甘肃做高端网站兰州装修公司位置
  • wordpress网站设置关键词合肥做淘宝网站推广
  • 网站建设与管理实验报告怎么用eclipse做网页
  • 上门做美容的有什么网站wordpress企业营销主题
  • 自己网站怎么做百度优化wordpress主题 门户
  • 吴江seo网站优化软件旅游类网站如何做推广
  • 做网站有用没帮别人制作网页多少钱
  • 大连网站建设设计公司百度seo找哪里
  • 网站信管局备案濮阳做网站星月网络
  • 医院网站后台模板WordPress页脚小工具关闭
  • 网站开发 放大图片网络营销方式研究心得1500
  • 营销型网站的缺点如何查一个网站的备案号
  • 手机网站开发实例租房平台网站开发