zoukankan      html  css  js  c++  java
  • getID3类的学习使用

    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目录放到项目里,

           我把目录放到ThinkPHPLibraryVender下。

    调用示例代码:

    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;
                }
            }    

  • 相关阅读:
    普通索引和唯一索引的选择
    深入理解MySQL索引(上)
    深入理解MySQL索引(下)
    Python3爬取小说并保存到文件
    MySQL45讲:一条update语句是怎样执行的
    IO软件层次结构与假脱机技术
    一条查询SQl是怎样执行的
    MySQL45讲笔记-事务隔离级别,为什么你改了数据我看不见
    了解一下IO控制器与控制方式
    3.6类别不平衡问题
  • 原文地址:https://www.cnblogs.com/gyfluck/p/10303023.html
Copyright © 2011-2022 走看看