PHP怎么根据音频文件的大小计算音频的时长
在做一个项目的时候遇到了这个问题,对方的音频文件是
.wav
文件,还是远程文件,如果都下载到服务器上,有点太多了,上百万条吧,算了算大小…还是找别的方法吧
在这里先推荐一个插件 getid3
,https://codeload.github.com/JamesHeinrich/getID3/zip/master ,这个插件在网上都说好用,我试了试好像是只能本地(也许是技术不行吧)
然后我就想到了一个办法,通过文件的大小计算时长,这种方法会有误差
先看代码
// $wavurl是文件的远程地址
$header_array = get_headers($wavurl, true);
$size = $header_array['Content-Length'];
$recordtime = intval(($size-42)*8 / 6400);
- 先通过header获取字节长度
byte
- 包装标准的 PCM 格式的 WAVE 文件(*.wav)中至少带有 42 个字节的头信息,所以获取的字节长度要减去42
- 然后
*8
是因为现在获取的是字节长度,咱们要把他转化成bit
- 除以6400,是传输速率(位速, 也叫比特率、取样率),这个在xp上可以右键属性里面查看, 如果查看不了,可以使用这个
KMPlayer
软件进行查看
获取音频时长大概就是这样了,这种方法只能当做是备用,因为存在 误差
,我自己看的误差还是可以接受的
PHP怎么根据音频文件的大小计算音频的时长相关推荐
- java 上传mp3文件大小,Java获取音频文件(MP3)的播放时长
最近的一个项目需要按照时间播放mp3文件,例如,播放10分钟的不同音乐. 这就意味着我得事先知道mp3文件的播放时长,以决定播放几遍这个文件. 方案一:Java的方式 找第三方的库,真的感谢这些提供j ...
- 嵌入式端音频开发(实战篇)之 4.2 把很多音频合成一个bin文件并统计每个音频文件的大小的方法(内含转换脚本)
查看本系列全部文章请点击:嵌入式端音频开发系列汇总(持续更新) 查看本文全部内容:嵌入式端音频开发(实战篇)之 4.2 把很多音频合成一个bin文件并统计每个音频文件的大小的方法(内含转换脚本) 文件 ...
- Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放
转载请注明出处:http://blog.csdn.net/a512337862/article/details/72629755 今天在这里简单介绍一下,如何利用android MediaCodec解 ...
- matlab从mp4文件中提取音频,如何提取mp4中的音频文件 怎样将视音频文件分离,保存视频中的音频文件...
本以为立秋后的天气会比较凉爽的,但没想到还是依旧的炎热,尤其是昨天,一天的时间就让我脸上起了很多的小疙瘩,感觉像痱子似的.原来是"秋老虎"作祟,"秋老虎"发威果 ...
- GPS计算司机行车时长,深圳交警开启疲劳驾驶午间整治
GPS???怎么不用我们自己的北斗呢????谁能解释????? 南都讯 记者陈文才 通讯员刘明 为贯彻落实省局"减量控大"工作精神,严厉打击午间时段重点道路交通违法行为,特别是疲劳 ...
- python中计算排队等待时间_codewars(python)练习笔记十:计算超市排队时长
codewars(python)练习笔记十:计算超市排队时长 题目 There is a queue for the self-checkout tills at the supermarket. Y ...
- 计算页面停留时长的另类方式
计算页面停留时长,往常计算也页面留时长都需要跑spark或这mr任务来实现,如果能跑sql来实现那是最好不过了(sql是最好的语言),废话不多说,直接搞起 注意:这里使用的计算引擎是presto 首先 ...
- Java分析音频文件声音大小
客户虐我千百遍,我待客户如初恋. 年前接到了一个奇怪的需求,需求是要采集用户上传的音频文件,并分析出此音频的声音分贝大小,这边记录一下 1.首先在pom.xml中导入jar <dependenc ...
- 【Android FFMPEG 开发】FFMPEG 音频重采样 ( 初始化音频重采样上下文 SwrContext | 计算音频延迟 | 计算输出样本个数 | 音频重采样 swr_convert )
文章目录 I . FFMPEG 播放视频流程 II . FFMPEG 音频重采样流程 III . FFMPEG 音频重采样 IV . FFMPEG 初始化音频重采样上下文 SwrContext V . ...
- linux 音频文件切割_Linux 对音频万能处理的命令——SOX
what's the SOX SoX(即 Sound eXchange)是一个跨平台(Windows,Linux,MacOS 等)的命令行实用程序,可以将各种格式的音频文件转换为需要的其他格式.SoX ...
最新文章
- 为你写诗:3 步搭建 Serverless AI 应用
- Java通过几种经典的算法来实现数组排序
- ArcGIS Engine基础开发教程(转)
- 【zTree】基于zTree动态生成树节点的一些应用
- 固特异发布人工智能球形轮胎:自动变形、自我修复、超级灵活
- [Python][小知识][NO.3] Python 使用系统默认浏览器打开指定URL的网址
- CSS基础「六」元素的显示与隐藏
- @getmapping注解的作用_@Transactional注解失效了?你遇到的是这6种场景吧!
- sqlserver获取前一天的日期_Java8新特性时间日期库DateTime API及示例
- usage: git remote add [options] name url -f, --fetch fetch the remote branches ...
- 电脑鼠标失控自己乱点_在这款沙盒游戏里,你只需要乱点鼠标就能成为建筑艺术家...
- npm 安装axios报错
- 仿链家地图找房_【前端-自如/链家/安居客-地图找房】地图api如何获取浏览器视野范围内的经纬度区间?...
- Google 为造芯再掀“抢人大战”,英特尔 17 年老将加入
- 耐心看完,越到后面越精彩
- 电脑遇到蓝屏的时候怎么解决
- TypeScript 学习笔记(四)--- 泛型(Generics)
- 法国“毁容”女教师请求安乐死
- TIM腾讯聊天(即时通信 IM)(咨询客服业务)
- 【正则】字符串按一定规则做替换