PHP getID3类的使用方法学习笔记【附getID3源码下载】

 更新时间:2019年10月18日 10:18:21   作者:学知无涯  
这篇文章主要介绍了PHP getID3类的使用方法,结合实例形式分析了getID3类的原理、功能及简单使用技巧,并附带了getID3类的源码供读者下载参考,需要的朋友可以参考下

本文实例讲述了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文件操作总结》、《PHP网络编程技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

    Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

    这篇文章主要介绍了Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法,涉及memcache服务器的安装及php操作memcache存储session的相关技巧,需要的朋友可以参考下
    2016-05-05
  • php实现无限级分类查询(递归、非递归)

    php实现无限级分类查询(递归、非递归)

    这篇文章分为两种情况,介绍了在递归和不使用递归的情况下PHP实现无限级分类,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • php中引用符号(&)的使用详解

    php中引用符号(&)的使用详解

    php的引用就是在变量或者函数、对象等前面加上&符号,在PHP 中引用的意思是:不同的名字访问同一个变量内容,下面介绍如何使用PHP的引用
    2013-11-11
  • PHP数学运算与数据处理实例分析

    PHP数学运算与数据处理实例分析

    这篇文章主要介绍了PHP数学运算与数据处理方法,结合实例形式分析了PHP的数据类型与基本数学运算方法,需要的朋友可以参考下
    2016-04-04
  • PHP中的self关键字详解

    PHP中的self关键字详解

    这篇文章主要给大家介绍了关于PHP中self关键字的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • php遍历替换目录下文件指定内容的方法

    php遍历替换目录下文件指定内容的方法

    这篇文章主要介绍了php遍历替换目录下文件指定内容的方法,涉及php针对目录与文件的遍历、读写、替换等相关操作技巧,需要的朋友可以参考下
    2016-11-11
  • php设计模式 Factory(工厂模式)

    php设计模式 Factory(工厂模式)

    定义一个用于创建对象的接口,让子类决定将哪一个类实例化,使用一个类的实例化延迟到其子类
    2011-06-06
  • PHP中你可能忽略的性能优化利器:生成器

    PHP中你可能忽略的性能优化利器:生成器

    性能优化是我们开发中必不可少的一部分,下面这篇文章主要给大家介绍了关于PHP中你可能忽略的性能优化利器:生成器的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • Gregarius中文日期格式问题解决办法

    Gregarius中文日期格式问题解决办法

    Gregarius支持中文的程度很不错,唯一的缺陷就是在日期格式上会出现乱码。其实只要修改根目录下util.php文件的rss_locale_date方法就可以解决这个问题,希望可以帮助使用Gregarius的朋友,修改后的方法代码如下:
    2008-04-04
  • 如何用PHP实现分布算法之一致性哈希算法

    如何用PHP实现分布算法之一致性哈希算法

    进行大型网站的web开发时,分布式这个词经常出现在我们面前。如: memcache、redis服务器等缓存服务器的负载均衡(分布式cache)、 MySQL的分布式集群,这些都会用到分布式的思想,都要理解分布式算法。接下来以缓存服务器的负载均衡来谈一下一致性哈希算法。
    2021-05-05

最新评论