今天将PHP和JS获取语音长度的两种方式分享给大家
首先是第一种通过JS来获取语音的长度
function getTime() { setTimeout(function () { var duration = $('audio')[0].duration; if(isNaN(duration)){ getTime(); }else{ console.log("该歌曲的总时间为:"+$("audio")[0].duration+"秒") } }, 10); }
然后我们可以通过一个函数将语音转换时分秒的形式
function formatSeconds(value) { var secondTime = parseInt(value);// 秒 var minuteTime = 0;// 分 var hourTime = 0;// 小时 if(secondTime > 60) {//如果秒数大于60,将秒数转换成整数 //获取分钟,除以60取整数,得到整数分钟 minuteTime = parseInt(secondTime / 60); //获取秒数,秒数取佘,得到整数秒数 secondTime = parseInt(secondTime % 60); //如果分钟大于60,将分钟转换成小时 if(minuteTime > 60) { //获取小时,获取分钟除以60,得到整数小时 hourTime = parseInt(minuteTime / 60); //获取小时后取佘的分,获取分钟除以60取佘的分 minuteTime = parseInt(minuteTime % 60); } } var result = "" + parseInt(secondTime) + "秒"; if(minuteTime > 0) { result = "" + parseInt(minuteTime) + "分" + result; } if(hourTime > 0) { result = "" + parseInt(hourTime) + "小时" + result; } return result;}console.log(formatSeconds(10000002));
下面我们通过PHP的方式来获取语音的信息,这里我我们要用到一个第三方的插件就是getid3
getid3分享:https://pan.baidu.com/s/1Q1JQ3K1EuL3GtDqtlIQHVg 提取码:smu5
analyze($audioServPath); //print_r($audioInfo);//打印语音的所有信息// $duration = $audioInfo['playtime_seconds'];//语音长度(秒为单位)$duration = $audioInfo['playtime_string'];//语音长度(分秒为单位)echo $duration;exit;?>
两种方式都是我自己在项目中使用过的,分享大家。有好的建议希望在下面留言评论!
领取专属 10元无门槛券
私享最新 技术干货