用PHP读取音频文件wav的录音时限
来源:互联网 发布:淘宝优惠券转手机端 编辑:程序博客网 时间:2024/04/30 14:38
对于WAV格式的文件结构,这里有详细的解释:http://dev.gameres.com/Program/Listen/wavePX.htm。读取其录音时间长度时,我在一个网站找到了下面这种方法。这里用到了PHP的pack函数。近来学习PERL时第一次接触pack函数,却不知道用了这么多年的PHP中也有这个函数,真实惭愧。其实PERL中的Audio::Wav模块也是通过类似的方法实现的,在/usr/lib/perl5/site_perl/5.8.6/Audio/Wav/Read.pm中搜索data_length就可以知道大概。
1 <?php 2 3 /* 4 calculate the duration of wav files 5 */ 6 function wav_sec($file, $base=10) /* {{{ */ 7 { 8 $fp = fopen($file, 'r'); 9 if (fread($fp,4) != 'RIFF') return 'format not valide';10 fseek($fp, 20);11 $rawheader = fread($fp, 16);12 $header = unpack('vtype/vchannels/Vsamplerate/Vbytespersec/valignment/vbits',$rawheader);13 $pos = ftell($fp);14 while (fread($fp, 4) != 'data' && !feof($fp))15 {16 $pos++;17 fseek($fp,$pos);18 }19 $rawheader = fread($fp, 4);20 $data = unpack('Vdatasize',$rawheader);21 $sec = $data[datasize] / $header[bytespersec];22 if($base==60)23 {24 $seconds = intval($sec % 60);25 $minutes = intval(($sec - $sec * 60) / 60);26 return $minutes.':'.$seconds;27 }28 else return $sec;29 } /* }}} */3031 ?>
0 0
- 用PHP读取音频文件wav的录音时限
- 用PHP读取音频文件wav的录音时限
- 用PHP读取音频文件wav的录音时限
- 读取*.wav音频文件
- 读取*.wav音频文件
- wav音频文件的结构
- Python 读取WAV音频文件 画频谱
- Python 读取WAV音频文件 画频谱
- 加载WAV音频文件的接口
- 用C#来播放.wav格式的音频文件
- 用C#来播放.wav格式的音频文件
- 用 Qt 的 QAudioOutput 类播放 WAV 音频文件
- wav音频文件
- WAV音频文件
- 用程序读取音频文件,识别其所用的音频文件格式
- android录音开发问题<记录1>:AudioRecord录制的音频文件如何用MediaPlayer类读取
- html/Javascript播放WAV音频文件的方法
- qt 用QSound播放WAV音频文件
- 陈彤离职:一个时代的终结
- TinyXML:一个优秀的C++ XML解析器
- Mac 下安装NodeJs
- QtCreator 使用介绍
- S5PV210 时钟配置解析
- 用PHP读取音频文件wav的录音时限
- 第九周项目3——(f)
- HDU-1711 Number Sequence(kmp入门)
- Qt进程间通信IPC
- android java image的操作一些可以的参考
- office2013 激活教程及激活工具
- QT文件读写
- 下沙的沙子有几粒?(杭电1267)
- Android属性(property)机制