PHP getID3类的使用方法学习笔记【附getID3源码下载】


Posted in PHP onOctober 18, 2019

本文实例讲述了PHP getID3类的使用方法。分享给大家供大家参考,具体如下:

网上描述:

getID3()这个PHP脚本能够从MP3或其它媒体文件中提取有用的信息如:ID3标签,bitrate,播放时间等。

(格式包括:Ogg,WMA,WMV,ASF,WAV,AVI,AAC,VQF,FLAC,MusePack,Real,QuickTime,Monkey's Audio,MIDI等)。

官方网址:https://www.getid3.org/。

功能:

使用这个方法,可以获得音频、视频、图片等媒体文件中的信息,

我测了一下常见类型的媒体文件,测试结果如下:

使用的getID3的版本是:1.9.16-201810171314。

支持的类型:

音频:【mp3】、【amr】;
视频:【mp4】、【flv】、【wmv】、【avi】;
图片:【gif】、【png】、【jpg】。

不支持的类型:

视频格式【ts】。

示例:

使用背景:做聊天功能时,发送语音时,需要知道语音的时长,这个时候就可以使用getID3这个类。

开发环境:ThinkPHP3.2框架。

下载getID3类:在官网下载后解压,里边有许多文件,很多都是demo,只需要将getid3目录放到项目里,

我把目录放到ThinkPHP\Library\Vender下。

调用示例代码:

Vendor('getid3.getid3');
$getID3 = new \getID3();
$analyzeFileInfo = $getID3->analyze($filename);
if($analyzeFileInfo && is_array($analyzeFileInfo)){
   if(isset($analyzeFileInfo['error']) && $analyzeFileInfo['error']){
        $err_msg = '获取语音消息的时长失败';
          if(is_array($analyzeFileInfo['error'])){
            foreach ($analyzeFileInfo['error'] as $key=>$value) {
              $err_msg .= ',错误'. ($key+1) . ':'.$value;
            }
          }else{
            $err_msg .= ',错误:'.$analyzeFileInfo['error'];
          }
          log($err_msg);
          return false;
        }else{
          if(isset($analyzeFileInfo['playtime_seconds'])){
            return ceil($analyzeFileInfo['playtime_seconds']);
          }
          return false;
        }
      }else{
        log('解析语音文件失败:'.$analyzeFileInfo);
        return false;
      }
    }

附:getID3类源码点击此处本站下载

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
php结合curl实现多线程抓取
Jul 09 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 PHP
详解PHP序列化和反序列化原理
Jan 15 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
laravel 解决paginate查询多个字段报错的问题
Oct 22 PHP
PHP架构及原理知识点详解
Dec 22 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 PHP
Laravel配合jwt使用的方法实例
Oct 25 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
Oct 18 #PHP
tp5.1 实现setInc字段自动加1
Oct 18 #PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 #PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 #PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 #PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 #PHP
基于laravel belongsTo使用详解
Oct 18 #PHP
You might like
PHP开发中常用的字符串操作函数
2011/02/08 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
vue点击标签切换选中及互相排斥操作
2020/07/17 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[03:40]DOTA2抗疫特别篇《英雄年代》
2020/02/28 DOTA
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
python使用sqlite3时游标使用方法
2018/03/13 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
python实现超市商品销售管理系统
2019/10/25 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
详解Python中import机制
2020/09/11 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
搞笑获奖感言
2014/01/30 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
重阳节简报
2015/07/20 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS