php修改音频文件_php获取mp3文件信息时长修改

function djinfo($dir)

{

if(!file_exists($dir)) return '';

if(substr(php_uname('s'),0,7)=="Windows"){ //LINUX系统暂时不支持

$player= new COM("WMPlayer.OCX");

$media = $player->newMedia($dir);

$time = $media->duration; //获取持续时间

@$s_bitrate = $media->getItemInfo(Bitrate); //获取位速

@$size=$media->getItemInfo(FileSize);//大小

$time = sprintf("%01.0f", $time);

$s_duration = strftime("%H时%M分%S秒",$time-28800);

$s_bitrate = str_replace(substr($s_bitrate,-3),"",$s_bitrate)." Kbps";

$s_size=$this->formatsize($size);

ob_flush();flush();

return $s_size.'|'.$s_bitrate.'|'.$s_duration;

}else{

return '';

}

}

原来的代码是这样,比如原来获取时间为 1时08分05秒 想改为 68分05秒

各位大神如何改啊,谢谢

回复讨论(解决方案)

希望大家帮帮忙,谢谢

你是要编辑mp3文件么?从微软定义看,media应该只能读数据,不能修改mp3文件的?

https://msdn.microsoft.com/en-us/library/windows/desktop/dd563869(v=vs.85).aspx#

Bitrate和FileSize的isReadOnlyItem都是true,filesize的定义页:https://msdn.microsoft.com/en-us/library/windows/desktop/dd562991(v=vs.85).aspx

以及这个问题感觉不如直接去问vb之类的开发他们用WMPlayer.OCX能不能改文件?

我是扫描入库,不是修改MP3文件,以上的入库时间样式是 1时08分05秒 我想转换为68分05秒

那就只是个时间显示的问题了?

$media->duration结果是秒,所以是$time/60分,$time%60秒,这样?

那就只是个时间显示的问题了?

$media->duration结果是秒,所以是$time/60分,$time%60秒,这样?

$time = 4085;

echo sprintf("%dmin,%02dsec", floor($time/60), $time%60);

这种感觉

$time = $time-28800;$s_duration = date('H', $time) * 60 + date('i', $time) . date("分s秒",$time);echo $s_duration;68分05秒

谢谢,搞定了!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值