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中与数组相关的函数
Mar 22 PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
php实现监听事件
Nov 06 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
Drupal7 form表单二次开发要点与实例
Mar 02 PHP
PHP抓取、分析国内视频网站的视频信息工具类
Apr 02 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
PHP正则表达式函数preg_replace用法实例分析
Jun 04 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截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
Yii2.0框架模型多表关联查询示例
2019/07/18 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
python绘制已知点的坐标的直线实例
2019/07/04 Python
python 命令行传入参数实现解析
2019/08/30 Python
python数据爬下来保存的位置
2020/02/17 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
学校搬迁方案
2014/06/15 职场文书
物业管理专业自荐信
2014/07/01 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL