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中的日期及时间
Nov 23 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
Nov 13 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
PHP使用CURL模拟登录的方法
Jul 08 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
PHP实现验证码校验功能
Nov 16 PHP
PHP命名空间简单用法示例
Dec 28 PHP
安装docker和docker-compose实例详解
Jul 30 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
中国收音机工业发展史
2021/03/02 无线电
php配置php-fpm启动参数及配置详解
2013/11/04 PHP
PHP类的反射用法实例
2014/11/03 PHP
php头像上传预览实例代码
2017/05/02 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
JavaScript中的定时器之Item23的合理使用
2015/10/30 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
微信小程序支付及退款流程详解
2017/11/30 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
js实现微信聊天界面
2020/08/09 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
Python实现壁纸下载与轮换
2020/10/19 Python
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
网站设计师的岗位职责
2013/11/21 职场文书
人事部主管岗位职责
2013/12/26 职场文书
社区学习十八大感想
2014/01/22 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
教师节倡议书2015
2015/04/27 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python