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 相关文章推荐
PHP4.04简明安装
Oct 09 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
Apr 08 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
Aug 20 PHP
curl和libcurl的区别简介
Jul 01 PHP
php实现搜索类封装示例
Mar 31 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
ThinkPHP5 的简单搭建和使用详解
Nov 15 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
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
一实用的实现table排序的Javascript类库
2007/09/12 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
js自定义事件及事件交互原理概述(二)
2013/02/01 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
Python基于回溯法解决01背包问题实例
2017/12/06 Python
对python中的logger模块全面讲解
2018/04/28 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
将Django项目部署到CentOs服务器中
2018/10/18 Python
python协程之动态添加任务的方法
2019/02/19 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
印度购物网站:TATA CLiQ
2017/11/23 全球购物
Dockers鞋官网:Dockers Shoes
2018/11/13 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
终止合同协议书
2014/04/17 职场文书
教师节宣传方案
2014/05/23 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
社会实践活动报告
2015/02/05 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
公司转让协议书
2016/03/19 职场文书
多属性、多分类MySQL模式设计
2021/04/05 MySQL
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫