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 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
用PHP实现Ftp用户的在线管理的代码
Mar 06 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
May 15 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
php中file_get_contents与curl性能比较分析
Nov 08 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
PHP查询快递信息的方法
Mar 07 PHP
谈谈PHP连接Access数据库的注意事项
Aug 12 PHP
PHP封装的PDO数据库操作类实例
Jun 21 PHP
PHP中的自动加载操作实现方法详解
Aug 06 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代码
2013/03/24 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
yii2的restful api路由实例详解
2019/05/14 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
javascript hashtable实现代码
2009/10/13 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
在HTML中插入JavaScript代码的示例
2015/06/03 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Python Tkinter基础控件用法
2014/09/03 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
工厂仓管员岗位职责
2014/01/01 职场文书
小学教师师德感言
2014/02/10 职场文书
班班通校本培训方案
2014/03/12 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
清洁员岗位职责
2015/02/15 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android