后台获取音频文件的播放时间

本文介绍了如何在后台获取音频文件的播放时间,避免因前台加载导致的时间获取问题。通过使用Java库Jave,可以有效地解决这个问题。文章提供了Jave的官网链接、下载地址以及安装方法,并展示了使用Jave进行音频处理的代码示例。

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

遇到一个需求,需要获取音视频文件的播放时间。首先考虑的是在前台获取其播放时间。代码如下。

<audio id="audio">
    <source src="horse.mp3" type="audio/mpeg">
</audio>
<script>
$(function(){
   
("#audio").addEventListener("canplay", function(){
   //监听audio是否加载完毕,如果加载完毕,则读取audio播放时间
     var time =("#audio").duration;
     var minute = time / 60;
    var minutes = parseInt(minute);
    if (minutes < 10) {
   
        minutes = "0" + minutes;
    }
    var second = time % 60;
    var seconds = Math.round(second);
    if (seconds < 10) {
   
        seconds = "0" + seconds;
    var allTime = parseInt(minutes*60 + seconds);
 });
})	
</script>

但这样对于从后台获取多个音频文件。需要等待audio加载完才能去获得它的播放时间,就会出现有些能拿到播放时间,有些拿不到。于是只能考虑从后台获取它的播放时间再显示出来。

在网上搜了一大堆解决方案,最终找到适合自己项目得解决方案。目前从后台获取音频文件播放时间的采用的方法是采用Jave。

这是Jave的官网。http://www.sauronsoftware.it/projects/jave/index.php

这是它的下载地址。http://www.sauronsoftware.it/projects/jave/download.php
在这里插入图片描述

把这个解压出来。再使用mvn命令安装。

mvn install:install-file -DgroupId=com.xinyartech -DartifactId=easyexcel -Dversion=1.1.1 -Dpackaging=jar -Dfile=D:\Maven\repository\it\sauronsoftware\jave\1.0.2jave-1.0.2.jar

仓库里面也有Jave。

在这里插入图片描述
在这里插入图片描述

但非常可惜的是它给的资源地址是访问不到jave。

在这里插入图片描述
在这里插入图片描述

好在天无绝人之路,我发现别的项目有引用到了Jave。

在这里插入图片描述

获取音乐的具体代码如下:

//voice是图片访问地址(http)
Map<String, Object> multipartMap = UrlToMultipartFile.urlToMultipartFile(voice);
Map<String, Object> readVideoTimeMap = VideoUtil.ReadVideoTimeMs((MultipartFile) multipartMap.get("multipartFile"));
map.put("times",readVideoTimeMap.get("times"));
//程序结束时,删除临时文件
UrlToMultipartFile.deleteFile((File) multipartMap.get("file"));
UrlToMultipartFile.deleteFile((File) readVideoTimeMap.get("file"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lllwyh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值