且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

是否有MP4文件的Java API?

更新时间:2022-02-20 22:44:55

MP4是一种容器格式 - 要能找到里面的声音的持续时间,你必须首先解析内容从容器中。您可以使用提取的MP4文件的内容 isobox mp4parser

Mp4 is a container format - to be able to find the duration of the audio inside, you have to first parse the content out of the container. You can extract the content of an mp4 file using isobox mp4parser.

一旦你做到了这一点,你再有原始的音频数据。如果是在Java的支持的格式(WAV,MP3等),那么你可以直接打开这个文件,您已经做了wav文件了。起初你可能会提取音频到一个单独的文件,为了简单起见,更容易调试。当这是工作,你可以再做提取在线 - 你实现了从提取的MP4动态的音频内容的InputStreamFilter,因此不需要额外的外部文件要求

Once you've done that, you then have the raw audio data. If it's one of the supported formats in java (wav, mp3, etc..) then you can just open this file like you have done for wavs already. Initially you will probably extract the audio to a separate file, for simplicity's sake and easier debugging. When this is working, you can then do the extraction inline - you implement an InputStreamFilter that extracts the audio content from the mp4 on the fly, so no additional external files are required.

IBM alphaWorks的有一个纯Java的MP4去codeR可用库,但它是你的可能是矫枉过正present需求。

IBM Alphaworks have a pure java MP4 decoder library available, but it's possibly overkill for your present needs.