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下过滤HTML代码的函数
Dec 10 PHP
多个PHP中文字符串截取函数
Nov 12 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
PHP使用memcache缓存技术提高响应速度的方法
Dec 26 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
PHP数据库操作四:mongodb用法分析
Aug 16 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 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插入含有特殊符号数据的处理方法
2016/11/24 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
JS实现的贪吃蛇游戏完整实例
2019/01/18 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python入门之modf()方法的使用
2015/05/15 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Python获取时间戳代码实例
2019/09/24 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
Python 实现一个简单的web服务器
2021/01/03 Python
python 批量将中文名转换为拼音
2021/02/07 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
2019学子的答谢词范本!
2019/07/05 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
Docker部署Mysql8的实现步骤
2022/07/07 Servers