php实现wav转mp3,php实现将wav文件转换成图像文件并在页面中显示的方法
本文实例讲述了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文件转换成图像文件并在页面中显示的方法相关推荐
- [PHP]进阶教程:将wav文件转换成图像文件并在页面中显示
需求:将wav文件转换成png文件并且显示出来. Wav_To_Png.php: <?Phpfunction wav_graph($file, $f=0, $w=0){global $DATA_ ...
- 【工具】音乐播放相关工具,音乐文件格式转换工具,MP3文件转换成arduino可以直接播放的wav格式,MP3转WAV工具...
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 最近玩播放音乐又用到了audio.online-convert这个音乐转换工具,好用, ...
- 【PC工具】在线MP3转WAV工具,MP3文件转换成arduino可以直接播放的wav格式
微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天再向大家推荐一个非常方便好用的在线音频转换工具. 之前玩arduino uno开发 ...
- MP3文件转换成arduino可以直接播放的wav格式,MP3转WAV工具
功能:不用安装软件,直接用免费网站工具将MP3音乐文件转换成所需的WAV格式. 网址:https://audio.online-convert.com/convert-to-wav 不需要注册登录,上 ...
- 怎么把录音文件转换成mp3格式,3个高效方法
在工作中,我们可能会选择录音来记录会议内容,以便之后整理会议纪要.但是我们知道录音文件的格式千差万别.比如在手机上录制的音频文件通常以M4A.WAV等多种格式存储,然而这些格式可能会存在不兼容的问题, ...
- Python 将MP3音频文件转换成MIDI乐谱文件
Python 将MP3音频文件转换成MIDI乐谱文件 spleeter 1.系统环境 我的Python环境 安装spleeter pip install spleeter 查看spleeter是否安装 ...
- 音频转换器评估:将音乐文件转换成MP3格式的最佳工具
音频转换器是一种非常有用的工具,可以将音乐文件转换为不同的格式,例如MP3.有许多音频转换器可供选择,但是要选择最佳的工具需要考虑多个因素,例如易用性.音质.速度.功能等.在本文中,我们将对一些最佳的 ...
- 3m格式的文件怎么转换成mp3_怎么将电脑上的mp4文件转换成mp3格式
mp4的视频文件格式固然很方便,但是也有一些缺陷,比如就有很多用户就在为怎么把mv视频转换为mp3音频格式而烦恼 ,在mv中谈到好听的歌,但是由于文件太大不能随时收听,如果转换为mp3格式就更加方便了 ...
- 怎样把其他格式的音频文件转换成MP3格式的
这个问题就比较简单了,如今科技这么发达,使用专业的音频格式转换器来转换就好了.比如我之前也从朋友那得知到一款音频转换器比较简单好用,后来一直在使用发现功能还比较全面且操作简单.所以跟着小编一起来看看吧 ...
最新文章
- mysql 5.7 mts_MySQL:MTS和mysqldump死锁
- [LeetCode] Rotate List
- php是否直接支持函数的重载,php函数重载的替代方法--伪重载详解
- 8.Vue 事件处理
- CLR Dynamic Languages
- 申请表怎么填才能提高信用卡额度?
- 计组之存储系统:5、cache(cache功能、cache工作原理、cache性能分析)
- ubuntu + vmware7.0 gmake not found
- 阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版
- 元素出现在页面时,添加动画,配合animate.css使用
- 将markdown格式转化为bootstrap风格html
- 樱花动漫中的视频下载分析
- 智慧城市发展参差不齐 亟待分级分类破“短板”
- Adobe Flash Player不是最新版本,导致视频无法播放?
- 【Rust日报】 2019-04-28
- oracle数据库外联,Oracle数据库-关于外联接
- 2017滴滴校招 连续最大和(DP)
- Python、C、Java 和 C++ 四足鼎立,其他已无胜算? | TIOBE 10 月编程语言排行榜
- 实施工程师的必备技能
- 安装ELK-Docker方式