在做一个项目的时候遇到了这个问题,对方的音频文件是 .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怎么根据音频文件的大小计算音频的时长相关推荐

  1. java 上传mp3文件大小,Java获取音频文件(MP3)的播放时长

    最近的一个项目需要按照时间播放mp3文件,例如,播放10分钟的不同音乐. 这就意味着我得事先知道mp3文件的播放时长,以决定播放几遍这个文件. 方案一:Java的方式 找第三方的库,真的感谢这些提供j ...

  2. 嵌入式端音频开发(实战篇)之 4.2 把很多音频合成一个bin文件并统计每个音频文件的大小的方法(内含转换脚本)

    查看本系列全部文章请点击:嵌入式端音频开发系列汇总(持续更新) 查看本文全部内容:嵌入式端音频开发(实战篇)之 4.2 把很多音频合成一个bin文件并统计每个音频文件的大小的方法(内含转换脚本) 文件 ...

  3. Android MediaCodec硬解码AAC音频文件(实时AAC音频帧)并播放

    转载请注明出处:http://blog.csdn.net/a512337862/article/details/72629755 今天在这里简单介绍一下,如何利用android MediaCodec解 ...

  4. matlab从mp4文件中提取音频,如何提取mp4中的音频文件 怎样将视音频文件分离,保存视频中的音频文件...

    本以为立秋后的天气会比较凉爽的,但没想到还是依旧的炎热,尤其是昨天,一天的时间就让我脸上起了很多的小疙瘩,感觉像痱子似的.原来是"秋老虎"作祟,"秋老虎"发威果 ...

  5. GPS计算司机行车时长,深圳交警开启疲劳驾驶午间整治

    GPS???怎么不用我们自己的北斗呢????谁能解释????? 南都讯 记者陈文才 通讯员刘明 为贯彻落实省局"减量控大"工作精神,严厉打击午间时段重点道路交通违法行为,特别是疲劳 ...

  6. python中计算排队等待时间_codewars(python)练习笔记十:计算超市排队时长

    codewars(python)练习笔记十:计算超市排队时长 题目 There is a queue for the self-checkout tills at the supermarket. Y ...

  7. 计算页面停留时长的另类方式

    计算页面停留时长,往常计算也页面留时长都需要跑spark或这mr任务来实现,如果能跑sql来实现那是最好不过了(sql是最好的语言),废话不多说,直接搞起 注意:这里使用的计算引擎是presto 首先 ...

  8. Java分析音频文件声音大小

    客户虐我千百遍,我待客户如初恋. 年前接到了一个奇怪的需求,需求是要采集用户上传的音频文件,并分析出此音频的声音分贝大小,这边记录一下 1.首先在pom.xml中导入jar <dependenc ...

  9. 【Android FFMPEG 开发】FFMPEG 音频重采样 ( 初始化音频重采样上下文 SwrContext | 计算音频延迟 | 计算输出样本个数 | 音频重采样 swr_convert )

    文章目录 I . FFMPEG 播放视频流程 II . FFMPEG 音频重采样流程 III . FFMPEG 音频重采样 IV . FFMPEG 初始化音频重采样上下文 SwrContext V . ...

  10. linux 音频文件切割_Linux 对音频万能处理的命令——SOX

    what's the SOX SoX(即 Sound eXchange)是一个跨平台(Windows,Linux,MacOS 等)的命令行实用程序,可以将各种格式的音频文件转换为需要的其他格式.SoX ...

最新文章

  1. 为你写诗:3 步搭建 Serverless AI 应用
  2. Java通过几种经典的算法来实现数组排序
  3. ArcGIS Engine基础开发教程(转)
  4. 【zTree】基于zTree动态生成树节点的一些应用
  5. 固特异发布人工智能球形轮胎:自动变形、自我修复、超级灵活
  6. [Python][小知识][NO.3] Python 使用系统默认浏览器打开指定URL的网址
  7. CSS基础「六」元素的显示与隐藏
  8. @getmapping注解的作用_@Transactional注解失效了?你遇到的是这6种场景吧!
  9. sqlserver获取前一天的日期_Java8新特性时间日期库DateTime API及示例
  10. usage: git remote add [options] name url -f, --fetch fetch the remote branches ...
  11. 电脑鼠标失控自己乱点_在这款沙盒游戏里,你只需要乱点鼠标就能成为建筑艺术家...
  12. npm 安装axios报错
  13. 仿链家地图找房_【前端-自如/链家/安居客-地图找房】地图api如何获取浏览器视野范围内的经纬度区间?...
  14. Google 为造芯再掀“抢人大战”,英特尔 17 年老将加入
  15. 耐心看完,越到后面越精彩
  16. 电脑遇到蓝屏的时候怎么解决
  17. TypeScript 学习笔记(四)--- 泛型(Generics)
  18. 法国“毁容”女教师请求安乐死
  19. TIM腾讯聊天(即时通信 IM)(咨询客服业务)
  20. 【正则】字符串按一定规则做替换

热门文章

  1. rdkit生成分子的图像
  2. 2022年山东省安全员B证判断题及答案
  3. 【UE4】局域网多人联机 Demo
  4. CH3CH2CH2CH2NH3I (BAI ) 丁基碘化胺 36945-08-1
  5. 微信公众号自动登录方案
  6. 企业到底是做软文营销还是口碑营销?
  7. 用户,组的查看应用。权限管理
  8. vue中央事件总线解决第一次进去之后不能监听,出来在进去就能触发监听
  9. 壁挂炉洗澡怎么调水温_燃气壁挂炉怎么设置水温?
  10. 分析竞争对手对网站优化的好处