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之第七天
Oct 09 PHP
认识并使用PHP超级全局变量
Jan 26 PHP
发一个php简单的伪原创程序,配合商城采集用的
Oct 12 PHP
php INI配置文件的解析实现分析
Jan 04 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
Thinkphp页面跳转设置跳转等待时间的操作
Oct 16 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源码之 ext/mysql扩展部分
2009/07/17 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
php-fpm中max_children的配置
2019/03/15 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
JS中操作JSON总结
2020/12/06 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
引用jquery框架后出错的解决方法
2016/08/09 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
Python break语句详解
2014/03/11 Python
Python脚本实现下载合并SAE日志
2015/02/10 Python
python利用正则表达式排除集合中字符的功能示例
2017/10/10 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
现代化办公人员工作的自我评价
2013/10/16 职场文书
《乡愁》教学反思
2014/02/18 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
宣传稿格式范文
2015/07/23 职场文书
放飞理想主题班会
2015/08/14 职场文书
公司晚会主持词
2019/04/17 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
使用Python拟合函数曲线
2022/04/14 Python