通过PHP,JS两种方式获取语音的长度

今天将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;?>

两种方式都是我自己在项目中使用过的,分享大家。有好的建议希望在下面留言评论!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181014G1Q8SV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券