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 相关文章推荐
第七节 类的静态成员 [7]
Oct 09 PHP
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP 读取文件的正确方法
Apr 29 PHP
PHP文件注释标记及规范小结
Apr 01 PHP
php定时计划任务的实现方法详解
Jun 06 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
ueditor 1.2.6 使用方法说明
Jul 24 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
Nov 11 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 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
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
phalcon框架使用指南
2016/02/23 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
2013/02/04 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
在JavaScript中使用严格模式(Strict Mode)
2019/06/13 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
js 获取扫码枪输入数据的方法
2020/06/10 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
Python中的类学习笔记
2014/09/23 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
python实现通过flask和前端进行数据收发
2019/08/22 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
万能检讨书
2015/01/27 职场文书
出纳岗位职责范本
2015/03/31 职场文书
初中政教处工作总结
2015/08/12 职场文书
创业计划书之宠物店
2019/09/19 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers