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编程中字符串处理的5个技巧小结
Nov 13 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
PHP中exec函数和shell_exec函数的区别
Aug 20 PHP
制作安全性高的PHP网站的几个实用要点
Dec 30 PHP
php 类自动载入的方法
Jun 03 PHP
PHP开发Apache服务器配置
Jul 15 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
WordPress中使主题支持小工具以及添加插件启用函数
Dec 22 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
Yii 实现数据加密和解密
Mar 09 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
php4的session功能评述(二)
2006/10/09 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
CSS+JS构建的图片查看器
2006/07/22 Javascript
用JS实现的一个include函数
2007/07/21 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
javascript使用正则控制input输入框允许输入的值方法大全
2014/06/19 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
vue实现登录拦截
2020/06/29 Javascript
vue中路由跳转不计入history的操作
2020/09/21 Javascript
python数组过滤实现方法
2015/07/27 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python如何把嵌套列表转变成普通列表
2018/03/20 Python
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
双十佳事迹材料
2014/01/29 职场文书
班主任工作经验材料
2014/02/02 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
软件项目开发计划书
2014/05/01 职场文书
文艺晚会策划方案
2014/06/11 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
大学运动会通讯稿
2015/07/18 职场文书
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
SQL Server Agent 服务无法启动
2022/04/20 SQL Server