请教java如何实现获取一段mp3的总时长
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教java如何实现获取一段mp3的总时长相关的知识,希望对你有一定的参考价值。
在导入一个java-1.0.2包 就可以了 如果是获取网络文件,那就需要先把文件下载到本地,然后再去获取音频时长
参考技术A 1.采样率。 2.压缩格式。 基本上就跟这俩东西有关了。 有了这个以后,可以根据文件的大小来计算播放时长。 至于具体的,我也没算过。我觉得你可以cut一段音乐,比如wma格式的,看看一分钟是多大。然后用你的文件大小来和这个标准文件作比较。 参考技术B java中直接使用AudioInputStream类来操作音乐文件,获取时长,实例如下: import java.io.File;import java.io.IOException;import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.Audiosystem;importffmpeg获取文件的总时长(mp3/mp4/flv等)
使用ffmpeg.exe获取文件属性信息,C#中可以在进程外异步调用这个工具,如下:
using (System.Diagnostics.Process pro = new System.Diagnostics.Process()) { pro.StartInfo.UseShellExecute = false; pro.StartInfo.ErrorDialog = false; pro.StartInfo.RedirectStandardError = true; pro.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "ffmpeg.exe"; pro.StartInfo.Arguments = " -i " + fileName; pro.Start(); System.IO.StreamReader errorreader = pro.StandardError; pro.WaitForExit(1000); string result = errorreader.ReadToEnd(); if (!string.IsNullOrEmpty(result)) { result = result.Substring(result.IndexOf("Duration: ") + ("Duration: ").Length, ("00:00:00").Length); duration = result; } }
以上是关于请教java如何实现获取一段mp3的总时长的主要内容,如果未能解决你的问题,请参考以下文章