欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-17 22:11:04
本文实例讲述了php getid3类的使用方法。分享给大家供大家参考,具体如下: 网上描述: getid3()这个php脚本能够从mp3或其它媒体文件中提取有用的信息如:id3标签...

本文实例讲述了php getid3类的使用方法。分享给大家供大家参考,具体如下:

网上描述:

getid3()这个php脚本能够从mp3或其它媒体文件中提取有用的信息如:id3标签,bitrate,播放时间等。

(格式包括:ogg,wma,wmv,asf,wav,avi,aac,vqf,flac,musepack,real,quicktime,monkey's audio,midi等)。

官方网址:。

功能:

使用这个方法,可以获得音频、视频、图片等媒体文件中的信息,

我测了一下常见类型的媒体文件,测试结果如下:

使用的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类源码点击此处。