赞助连接

赞助连接

阅 读 文 章

[源码学习] 用PHP读写音频文件的信息(支持WMA和MP3)

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(hightman) | 时间:2007-05-27 | 浏览:人次 ]


    {  // wma
      $ret = &$this->_wma;
      if (!$ret) $ret = new _WmaExif();
    }
    else
    {  // unknown
      trigger_error('AudioExif not supported `' . $ext . '` file.', E_USER_WARNING);
    }
    return $ret;
  }
}

// DBCS => gb2312
function dbcs_gbk($str)
{
  // strip the last "\0\0"
  $str = substr($str, 0, -2);
  return mb_convert_encoding($str, 'GBK', 'UCS-2LE');
}

// gb2312 => DBCS
function gbk_dbcs($str)
{
  $str  = mb_convert_encoding($str, 'UCS-2LE', 'GBK');
  $str .= "\0\0";
  return $str;
}

// file exif
class _AudioExif
{
  var $fd;
  var $head;
  var $head_off;
  var $head_buf;
  
  // init the file handler
  function _file_init($fpath, $write = false)
  {
    $mode = ($write ? 'rb+' : 'rb');
    $this->fd = @fopen($fpath, $mode);
    if (!$this->fd)
    {
      trigger_error('AudioExif: `' . $fpath . '` can not be opened with mode `' . $mode . '`', E_USER_WARNING);
      return false;
    }
    $this->head = false;
    $this->head_off = 0;
    $this->head_buf = '';
    return true;
  }

  // read buffer from the head_buf & move the off pointer
  function _read_head_buf($len)
  {
    if ($len <= 0) return NULL;
    $buf = substr($this->head_buf, $this->head_off, $len);
    $this->head_off += strlen($buf);
    return $buf;
  }

  // read one short value
  function _read_head_short()
  {
    $ord1 = ord(substr($this->head_buf, $this->head_off, 1));
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 信息 支持 文件 音频 学习 源码 tmp if this-fd ret //

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.