Mp3文件可以使用这个 mp3 SPI support来处理,但是我没有找到类似于mp4文件的东西.

任何帮助将不胜感激.

–update

我想做的是获取文件的大小,就像使用这个代码的wave文件一样:

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long audioFileLength = file.length();
int frameSize = format.getFrameSize();
float frameRate = format.getFrameRate();
float durationInSeconds = (audioFileLength / (frameSize * frameRate));

– 回答

以下是使用@mdma(IBM工具包)提示的答案代码:

/**
 * Use IBMPlayerForMpeg4SDK to get mp4 file duration.
 * 
 * @return the mp4File duration in milliseconds.
 */
public static long getMp4Duration(File mp4File) throws IllegalStateException,IOException {
PlayerControl playerControl = PlayerFactory.createLightweightMPEG4Player();
playerControl.open(mp4File.getAbsolutePath());
long mili = playerControl.getDuration();
// int sec = (int) ((mili / 1000) % 60);
// int min = (int) ((mili / 1000) / 60);
// System.out.println("IBM Tookit result = " + min + ":" + sec);
return mili;
}

相关,语言无关,问题:
Anyone familiar with mp4 data structure?

解决方法

Mp4是一种容器格式 – 为了能够在内部找到音频的持续时间,您必须首先从容器中解析出内容.您可以使用 isobox mp4parser提取mp4文件的内容.

完成之后,您将拥有原始的音频数据.如果它是java(wav,mp3等)支持的格式之一,那么你可以打开这个文件,就像已经为wav已经完成的那样.最初,您可能会将音频解压缩到一个单独的文件,为了简单起见,调试更简单.当这样工作时,您可以在线提取 – 您实现一个InputStreamFilter,即时从mp4中提取音频内容,因此不需要额外的外部文件.

IBM Alphaworks有一个纯Java MP4解码器库可用,但它可能是为您目前的需求过度.

有没有Java API的mp4文件?的更多相关文章

  1. Html5实现首页动态视频背景的示例代码

    这篇文章主要介绍了Html5实现首页动态视频背景的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. ios – MPMoviePlayerController不播放本地文件

    >file:///Users/utkal/Library/ApplicationSupport/iPhoneSimulator/7.0.3/Applications/F0B3AD63-7E46-4069-8845-8B0C05425CD2/CosMos.app/PTCL.mp4我得到第一个代码的videURL路径>file:///Users/utkal/Library/ApplicationSup

  3. 在Android中添加音频到视频

    我想开发一个可以录制视频的Android应用程序,然后我的资源文件夹中有一些音频文件,我想将其添加到视频的末尾.所以最终的效果就像是首先播放视频,在视频结束时,增加的音频将会被听到.我该怎么做?解决方法使用不同音频编解码器进行组合是不容易的.我会做以下事情:>将MP3文件转换为与视频相同的格式>现在,您可以使用mp4parser的AppendExample将录制的视频附加到预录音>结果将是一个包含视频第一个和声音的MP4文件.全面披露:我是mp4parser的维护者.

  4. HTML5的Video标签有部分MP4无法播放的问题解析(多图)

    这篇文章主要介绍了HTML5的Video标签有部分MP4无法播放的问题。通过代码展示了设置的过程,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。

  5. 如何将bag文件批量转成mp4

    这篇文章主要介绍了将bag文件批量转成mp4,这篇博客涉及的脚本用来将bag文件批量转化为mp4文件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. video下autoplay属性无效的解决方法(添加muted属性)

    这篇文章主要介绍了video下autoplay属性无效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  7. html5用video标签流式加载的实现

    这篇文章主要介绍了html5用video标签流式加载的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. 解决node-webkit 不支持html5播放mp4视频的方法

    本文给大家分享的是解决node-webkit 不支持html5播放mp4视频的方法,其原因大概是因为node-webkit没有购买mp4格式的专利授权,恩,我们来想个办法来解决这个事情吧。

  9. ubuntu – 用ffserver开始流简单的mp4

    我想流一个mp4,为此我读到了关于ffserver的内容.所以我搜索和阅读ffserver文档,但仍然无法流式传输一个简单的文件.为此,我做了这些:安装了1-Awin8和最后一个VLC.2-AUbuntu13,带有最后一个ffmpeg包.3-affserver.conf文件保存到/etc/并从http://ffmpeg.org/sample.html复制(我只是复制新文件中的文本).4–运行此命令

  10. Cakephp 2.3.x发送文件并强制下载mp4文件

    您不理解的行只是示例的一部分–它假定应用程序有一个名为Attachment的模型,并且它有一个名为getFile的方法.由于您没有附件模型,因此您将获得“对非对象的成员函数调用”错误.但这并不重要:您需要担心的是提供一个完整的系统路径–>>response->file().在您的示例中,您可以通过将该行更改为:您可以删除$this->Attachment->getFile行,因为它与您的情况无关.如果有帮助,请告诉我!

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部