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

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

Wav_To_Png.php:

function 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 minute

header("Content-type: image/png");

$im = imagecreate($s / $w, $h * $c * 2);

imagecolorallocate($im, 0xff, 0xff, 0xff); // white bg

$color = imagecolorallocate($im, 0, 0, 255); // black

imagestring($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程序设计有所帮助。

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

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

    需求:将wav文件转换成png文件并且显示出来. Wav_To_Png.php: <?Phpfunction wav_graph($file, $f=0, $w=0){global $DATA_ ...

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

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

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

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

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

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

  5. 怎么把录音文件转换成mp3格式,3个高效方法

    在工作中,我们可能会选择录音来记录会议内容,以便之后整理会议纪要.但是我们知道录音文件的格式千差万别.比如在手机上录制的音频文件通常以M4A.WAV等多种格式存储,然而这些格式可能会存在不兼容的问题, ...

  6. Python 将MP3音频文件转换成MIDI乐谱文件

    Python 将MP3音频文件转换成MIDI乐谱文件 spleeter 1.系统环境 我的Python环境 安装spleeter pip install spleeter 查看spleeter是否安装 ...

  7. 音频转换器评估:将音乐文件转换成MP3格式的最佳工具

    音频转换器是一种非常有用的工具,可以将音乐文件转换为不同的格式,例如MP3.有许多音频转换器可供选择,但是要选择最佳的工具需要考虑多个因素,例如易用性.音质.速度.功能等.在本文中,我们将对一些最佳的 ...

  8. 3m格式的文件怎么转换成mp3_怎么将电脑上的mp4文件转换成mp3格式

    mp4的视频文件格式固然很方便,但是也有一些缺陷,比如就有很多用户就在为怎么把mv视频转换为mp3音频格式而烦恼 ,在mv中谈到好听的歌,但是由于文件太大不能随时收听,如果转换为mp3格式就更加方便了 ...

  9. 怎样把其他格式的音频文件转换成MP3格式的

    这个问题就比较简单了,如今科技这么发达,使用专业的音频格式转换器来转换就好了.比如我之前也从朋友那得知到一款音频转换器比较简单好用,后来一直在使用发现功能还比较全面且操作简单.所以跟着小编一起来看看吧 ...

最新文章

  1. mysql 5.7 mts_MySQL:MTS和mysqldump死锁
  2. [LeetCode] Rotate List
  3. php是否直接支持函数的重载,php函数重载的替代方法--伪重载详解
  4. 8.Vue 事件处理
  5. CLR Dynamic Languages
  6. 申请表怎么填才能提高信用卡额度?
  7. 计组之存储系统:5、cache(cache功能、cache工作原理、cache性能分析)
  8. ubuntu + vmware7.0 gmake not found
  9. 阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版
  10. 元素出现在页面时,添加动画,配合animate.css使用
  11. 将markdown格式转化为bootstrap风格html
  12. 樱花动漫中的视频下载分析
  13. 智慧城市发展参差不齐 亟待分级分类破“短板”
  14. Adobe Flash Player不是最新版本,导致视频无法播放?
  15. 【Rust日报】 2019-04-28
  16. oracle数据库外联,Oracle数据库-关于外联接
  17. 2017滴滴校招 连续最大和(DP)
  18. Python、C、Java 和 C++ 四足鼎立,其他已无胜算? | TIOBE 10 月编程语言排行榜
  19. 实施工程师的必备技能
  20. 安装ELK-Docker方式

热门文章

  1. Java转义字符(转载)
  2. 弹性响应蒸馏 | 用弹性响应蒸馏克服增量目标检测中的灾难性遗忘
  3. SkipList原理及实现
  4. 最近调试HEVC中码率控制, 发现HM里面一个重大bug
  5. Java基础一(Java核心技术卷I)
  6. pyserial_API函数说明
  7. 在线加密解密网站大全(更新ing)
  8. 深入浅出理解Java中数组的浅拷贝和深拷贝
  9. 一文了解黄金票据和白银票据
  10. JS 对象转换为数组