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

  • 相关阅读:
    spring boot 配置rabbitmq启动遇到的问题
    linux 启动rabbitmq 报错:
    spring boot 读取自定义properties文件
    jvm笔记-02-垃圾收集器与内存分配策略
    Jvm笔记-01-Java运行时数据区域与对象
    C++ 14 重载操作符与转换
    C++ 13 复制控制
    C++ 12 类
    C++ 11 泛型算法、迭代器
    android studio 问题及处理记录
  • 原文地址:https://www.cnblogs.com/gyfluck/p/10303023.html
Copyright © 2011-2022 走看看