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 相关文章推荐
DOMXML函数笔记
Oct 09 PHP
PHP动态图像的创建
Oct 09 PHP
默默小谈PHP&MYSQL分页原理及实现
Jan 02 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
基于PHP array数组的教程详解
Jun 05 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
php 伪静态之IIS篇
Jun 02 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
ThinkPHP 3使用OSS的方法
Jul 19 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出错界面
2006/10/09 PHP
php cc攻击代码与防范方法
2012/10/18 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
2013/08/31 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
vue动态禁用控件绑定disable的例子
2019/10/28 Javascript
vscode 插件开发 + vue的操作方法
2020/06/05 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
python实现代理服务功能实例
2013/11/15 Python
python合并文本文件示例
2014/02/07 Python
浅谈python 导入模块和解决文件句柄找不到问题
2018/12/15 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
2019/06/28 Python
利用python实现周期财务统计可视化
2019/08/25 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
大三自我鉴定范文
2013/10/05 职场文书
幼儿园大班评语大全
2014/04/17 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
会计专业自荐信
2014/06/03 职场文书
企业法人授权委托书
2014/09/25 职场文书
总经理助理岗位职责
2015/01/31 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
MySQL读取JSON转换的方式
2022/03/18 MySQL
css3 选择器
2022/05/11 HTML / CSS