需求:将wav文件转换成png文件并且显示出来。

Wav_To_Png.php:

<?Phpfunction wav_graph($file, $f=0, $w=0){global $DATA_DIR;if(!is_file($file))return 0;$fp = fopen($DATA_DIR.$file, 'r');$raw = fread($fp, 36);$str = '';$header = unpack('A4Riff/VSize/A4Wav/A4Head/VHeadSize/vPCM/vChannels/VSampleRate/VByteRate/vBlockAlign/vSampleBits', $raw);foreach($header as $k=>$v)$str .= $k.': '. $v.' ';fseek($fp, 36 + $header['HeadSize'] - 16);$raw = fread($fp, 8);$data = unpack('A4Data/VDataSize', $raw);foreach($data as $k=>$v)$str .= $k.': '. $v.' ';$b = $header['SampleBits'];$c = $header['Channels'];$l = $b * $c / 8; // sample frame length in bytes$s = $data['DataSize'] / $l; // total number of samples$r = $header['SampleRate'];if($f)$h = pow(2, $b) / $f;else{ $h = 200; $f = pow(2, $b - 1) / $h; }if($w == 0)$w = round($r / 1000); // default to show 1k sample frames per minuteheader("Content-type: image/png");$im = imagecreate($s / $w, $h * $c * 2);imagecolorallocate($im, 0xff, 0xff, 0xff); // white bg$color = imagecolorallocate($im, 0, 0, 255); // blackimagestring($im, 5, 5, 5, $str, $color);$x=0; $y = array(); $yn = array();for($i = 0; $i < $c; $i++) $y[$i] = $h * $i + $h;$n = $l * $w;while(1){if($s == 0) break;if($s < $n) $n = $s;$samples = fread($fp, 1000 * $n);if($samples === FALSE)break;$packed = unpack("s*", $samples);foreach($packed as $k=>$v){$cnt = ($k-1) % ($w * $l) ;if( $cnt > $c - 1) continue;$yn[$cnt] = $h * $cnt + $h - $v / $f;imageline($im, $x, $y[$cnt], $x+1, $yn[$cnt], $color);$y[$cnt] = $yn[$cnt];$x++;}$s -= $n;}imagepng($im);imagedestroy($im);}wav_graph('GetWave.wav');
?>

效果图:

[PHP]进阶教程:将wav文件转换成图像文件并在页面中显示相关推荐

  1. php实现wav转mp3,php实现将wav文件转换成图像文件并在页面中显示的方法

    本文实例讲述了php实现将wav文件转换成图像文件并在页面中显示的方法.分享给大家供大家参考.具体分析如下: 需求:将wav文件转换成png文件并且显示出来. Wav_To_Png.php: func ...

  2. php读取mht,php解析mht文件转换成html的实例

    php解析mht文件转换成html的实例 发布于 2017-08-07 07:27:31 | 116 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertex ...

  3. html格式怎么转换mp4视频文件怎么打开吗,QSV文件怎么打开 qsv文件转换成mp4格式教程详解...

    很多朋友都有遇到过QSV视频文件无法打开的情况吧.今天本文主要分享一下QSV文件怎么打开,另外如果需要手机.电脑都可以轻松打开qsv文件,则还需要将QSV文件转换成MP4格式就可以了,下面具体来看看. ...

  4. xpdf将pdf转换为html,(WordExcelPDF文件转换成HTML整理.docx

    (WordExcelPDF文件转换成HTML整理 项目开发过程中,需求涉及到了各种文档转换为HTML或者网页易显示格式,现在将实现方式整理如下:?一.使用Jacob转换Word,Excel为HTML? ...

  5. 如何把pdf文件转换成图片?

    怎么把pdf文件转换成图片?在工作中我们经常跟PDF文件打交道,PDF文件的格式稳定,安全,好阅读的优点,给我们提供了极大的便利.但在提供便利的同时也会有所限制,比如在需要编辑PDF文件的时候,就会因 ...

  6. 【工具】音乐播放相关工具,音乐文件格式转换工具,MP3文件转换成arduino可以直接播放的wav格式,MP3转WAV工具...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 最近玩播放音乐又用到了audio.online-convert这个音乐转换工具,好用, ...

  7. 【PC工具】在线MP3转WAV工具,MP3文件转换成arduino可以直接播放的wav格式

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天再向大家推荐一个非常方便好用的在线音频转换工具. 之前玩arduino uno开发 ...

  8. MP3文件转换成arduino可以直接播放的wav格式,MP3转WAV工具

    功能:不用安装软件,直接用免费网站工具将MP3音乐文件转换成所需的WAV格式. 网址:https://audio.online-convert.com/convert-to-wav 不需要注册登录,上 ...

  9. 利用matlab将.mat格式文件转换成wav文件

    利用matlab将.mat格式文件转换成wav文件 clc; clear all; clear all;filenames = dir('f16.mat') n = numel(filenames)f ...

最新文章

  1. 6月书讯 | 如果有一本书伴随你十年编程,那一定是它
  2. java jni 参数_Java 与 JNI 互传数据的那些事
  3. 中国五大顶级域名7月第一周增3.2万 美国减7.3万
  4. python3 socketserver_Python3中的SocketServer
  5. Python3的bytes/str之别
  6. php 发送delete请求,PHP中使用CURL实现GET、POST、PUT、DELETE请求
  7. php程序设计简明教程
  8. oracle xe 数据库用户操作
  9. python中国官网-Python教程
  10. Python让繁琐工作自动化——chapter7 模式匹配与正则表达式
  11. Crystal Reports - Add CheckBox
  12. 差距越来越大, 直播行业割终结束, 虎牙、斗鱼平分天下?
  13. SSM框架下的注册验证
  14. 如何提高自身数学分析水平?
  15. 2021道路运输企业主要负责人安全考核试题
  16. [vmware]解析单一GHO文件如何安装操作系统
  17. java listener 模式_Java和GUI-根据MVC模式,ActionListener属于哪里?
  18. 用Java写一个简易五子棋游戏
  19. flutter图片聊天泡泡_Flutter极致的业务封装——各类聊天气泡(一)
  20. 2021年软考科目怎么选?

热门文章

  1. 用计算机写试卷反思,试卷反思作文(通用3篇)
  2. nacos 服务注册报错server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]
  3. 财务会计英文简历范文
  4. 笔记(十):redis集群
  5. 【秒杀系统】从零开始打造简易秒杀系统(一):防止超卖
  6. 正则提取数字、英文、中文
  7. 高数 | 【概念剖析】一元、二元微分,连续、可微、可偏导、偏导连续的超强通俗解析!
  8. TC397之Memory Maps (MEMMAP)
  9. 信息安全数学基础(一):同余
  10. 魔兽争霸之PHP设计模式-单件模式[Singleton]