linux获取音频长度,JAVE2获取视频时长、音频时长

本文介绍如何从旧版本的Jave升级到2.0,并针对不同环境选择合适的依赖来减小项目体积。同时,提供了一个示例代码展示如何使用Jave2.0获取多媒体文件的时长。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jave当前的版本太旧了 很久没有更新了,而且关键的是maven库中无法使用,偶然间看到github上出现了jave2.0,https://github.com/a-schild/jave2

我本地使用的2.4.6

ws.schild

jave-all-deps

2.4.6

官网已经更新到了2.5.0

然后就可以使用了吗?可以是可以 但是所有依赖下载完毕 会发现这玩意太大了吧,好几百M呢!!!

看了官网的提示,可以使用适合当前系统的依赖:

第一步:加入适合当前环境的依赖

dev

dev

jave-native-win64

true

test

test

jave-native-linux64

false

pro

pro

jave-native-linux64

false

ws.schild

jave-core

2.4.6

ws.schild

jave-native-osx64

2.4.6

ws.schild

${jave}

2.4.6

解释一下这个${jave}变量:

1.本地开发时是window64:jave-native-win64,本地开发是MACOS:jave-native-osx64

2.服务器linux : jave-nativebin-linux64

第二步:获取文件各种属性(这里我只是获取音频、视频的时长而已):

@Component

public class AudioVideoUtil {

private static final Logger logger = LoggerFactory.getLogger(AudioVideoUtil.class);

@Value("${文件临时目录}")

private String locationTemp;

public long getDurationSecond(MultipartFile multipartFile) {

//防止文件重复 类似于c:/app/tomcat/tmp/201905081111111_Go.mp3

StringBuffer stringBuffer = new StringBuffer(locationTemp)

.append(​​​System.currentTimeMillis())

.append("_").append(multipartFile.getOriginalFilename());

String localPath = stringBuffer.toString();

File file = new File(localPath);

try {

//上传的文件放置到临时目录下

if (!file.getParentFile().exists()) {

file.mkdirs();

}

//copy文件

multipartFile.transferTo(file);

//解析文件

MultimediaObject object = new MultimediaObject(file);

MultimediaInfo multimediaInfo = object.getInfo();

long duration = multimediaInfo.getDuration();

logger.debug("文件:{},时长ms:", localPath, duration);

return duration / 1000 ;

} catch (Exception e) {

e.printStackTrace();

} finally {

//别忘了删除文件 以免浪费空间

logger.info("文件:{} ,是否已删除?file.delete()={}", localPath, file.delete());

}

return 0;

}

}

另:更多的文件属性方法 参考官方文档:https://github.com/a-schild/jave2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值