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 相关文章推荐
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
PHP和.net中des加解密的实现方法
Feb 27 PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
Apr 17 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 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/01 无线电
php中批量替换文件名的实现代码
2011/07/20 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
js图片跟随鼠标移动代码
2015/11/26 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
深入理解Node module模块
2018/03/26 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
python with statement 进行文件操作指南
2014/08/22 Python
Python常用内置函数总结
2015/02/08 Python
Django框架中方法的访问和查找
2015/07/15 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
如何使用Django Admin管理后台导入CSV
2020/11/06 Python
HTML5实现自带进度条和滑块滑杆效果
2018/04/17 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
就业自荐信
2013/12/04 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
小学生读书活动总结
2014/06/30 职场文书
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL