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 相关文章推荐
与数据库连接
Oct 09 PHP
php读取csv实现csv文件下载功能
Dec 18 PHP
微信扫描二维码登录网站代码示例
Dec 30 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
PHP实现格式化文件数据大小显示的方法
Jan 03 PHP
php实现ip白名单黑名单功能
Mar 12 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 PHP
有关PHP 中 config.m4 的探索
Aug 26 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中ob_start函数的使用说明
2013/11/11 PHP
php实现搜索类封装示例
2016/03/31 PHP
PHP中Notice错误常见解决方法
2017/04/28 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
php精度计算的问题解析
2019/06/21 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
扩展easyui.datagrid,添加数据loading遮罩效果代码
2010/11/02 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
js替换字符串的所有示例代码
2013/07/23 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
利用python和百度地图API实现数据地图标注的方法
2019/05/13 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
python 实现线程之间的通信示例
2020/02/14 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
采购部长岗位职责
2014/06/13 职场文书
教室标语大全
2014/06/21 职场文书
考试作弊检讨
2015/01/27 职场文书
保管员岗位职责
2015/02/14 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
节水宣传标语口号
2015/12/26 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers