数码资讯
PHP实现了将WAV文件转换成图像文件并将其显示在页面中的方法。
本文演示了PHP实现wav文件转换成图像文件并显示在页面上的方法: 要求:将wav文件转换成PNG文件并显示它。 wav_to_png.php: < PHP 功能wav_graph(文件,F = 0美元美元,W = 0) { 全球data_dir美元; 如果(!is_file(文件)) 返回0; $
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文演示了PHP实现wav文件转换成图像文件并显示在页面上的方法:
要求:将wav文件转换成PNG文件并显示它。
wav_to_png.php:
< PHP
功能wav_graph(文件,F = 0美元美元,W = 0)
{
全球data_dir美元;
如果(!is_file(文件))
返回0;
$ FP = fopen(data_dir美元。文件,R');
$原= fread($ FP,36);
$ =;
$头=解压('a4riff / / / vsize a4wav a4head / / / vheadsize提出vchannels / / / vsamplerate vbyterate vblockalign / vsamplebits,$原);
foreach(合头达k = > $ V)
美元:五美元;
fseek($ FP,36 + $标题{ 'headsize} - 16);
$原= fread($ FP,8);
为数据解包('a4data / vdatasize,$原);
foreach($数据为$ K = > $ V)
美元:五美元;
B =美元美元头{ 'samplebits};
$c = { } 'channels美元的头;
$ l = $ * 8。
S = {美元美元数据'datasize} / / /美元升;总样本数
$ R = { } 'samplerate美元的头;
如果(f)
$ =战俘(2,美元);
其他的
{ $ = 200;$ =战俘(2,$ B - 1) $ H;}
如果($ = 0)
$ W =圆($ R / 1000); / /默认显示1k样本帧每分钟
页眉(内容类型:图像);
我=画面欣赏美元(美元/美元美元的W,H * $ * 2);
imagecolorallocate($ IM,0xFF,0xFF,0xFF); / /白色背景
颜色= imagecolorallocate美元(合我,0, 0, 255); / /黑色
imagestring($ IM,5, 5, 5美元美元,STR,颜色);
为x = 0;Y元=阵列();$ Yn=阵();
($ i = 0;$ i;
$ = $ l * W;
(1)
{
如果($ = 0)
打破;
如果($ < $ n)
美元=美元;
$样品= fread($ FP,1000 * N);
如果($ = false)
打破;
打包=解包()
foreach($包装$ K = > $ V)
{
碳纳米管(美元美元= K-1)%($ W * $ L);
如果($ $ > C - 1)
继续;
YN { } =美元美元美元美元的碳纳米管有碳纳米管+ $ H $ V / F美元;
imageline(合我,X,Y元{ $ CNT },x美元+ 1美元美元,YN { }美元的碳纳米管,颜色);
Y元{ } = {美元美元美元在碳纳米管CNT };
美元+;
}
美元=美元;
}
imagepng(为我);
销毁一图像(为我);
}
wav_graph('getwave .wav);
>
结果如下:
希望本文能对大家的PHP程序设计有所帮助。
要求:将wav文件转换成PNG文件并显示它。
wav_to_png.php:
< PHP
功能wav_graph(文件,F = 0美元美元,W = 0)
{
全球data_dir美元;
如果(!is_file(文件))
返回0;
$ FP = fopen(data_dir美元。文件,R');
$原= fread($ FP,36);
$ =;
$头=解压('a4riff / / / vsize a4wav a4head / / / vheadsize提出vchannels / / / vsamplerate vbyterate vblockalign / vsamplebits,$原);
foreach(合头达k = > $ V)
美元:五美元;
fseek($ FP,36 + $标题{ 'headsize} - 16);
$原= fread($ FP,8);
为数据解包('a4data / vdatasize,$原);
foreach($数据为$ K = > $ V)
美元:五美元;
B =美元美元头{ 'samplebits};
$c = { } 'channels美元的头;
$ l = $ * 8。
S = {美元美元数据'datasize} / / /美元升;总样本数
$ R = { } 'samplerate美元的头;
如果(f)
$ =战俘(2,美元);
其他的
{ $ = 200;$ =战俘(2,$ B - 1) $ H;}
如果($ = 0)
$ W =圆($ R / 1000); / /默认显示1k样本帧每分钟
页眉(内容类型:图像);
我=画面欣赏美元(美元/美元美元的W,H * $ * 2);
imagecolorallocate($ IM,0xFF,0xFF,0xFF); / /白色背景
颜色= imagecolorallocate美元(合我,0, 0, 255); / /黑色
imagestring($ IM,5, 5, 5美元美元,STR,颜色);
为x = 0;Y元=阵列();$ Yn=阵();
($ i = 0;$ i;
$ = $ l * W;
(1)
{
如果($ = 0)
打破;
如果($ < $ n)
美元=美元;
$样品= fread($ FP,1000 * N);
如果($ = false)
打破;
打包=解包()
foreach($包装$ K = > $ V)
{
碳纳米管(美元美元= K-1)%($ W * $ L);
如果($ $ > C - 1)
继续;
YN { } =美元美元美元美元的碳纳米管有碳纳米管+ $ H $ V / F美元;
imageline(合我,X,Y元{ $ CNT },x美元+ 1美元美元,YN { }美元的碳纳米管,颜色);
Y元{ } = {美元美元美元在碳纳米管CNT };
美元+;
}
美元=美元;
}
imagepng(为我);
销毁一图像(为我);
}
wav_graph('getwave .wav);
>
结果如下:
希望本文能对大家的PHP程序设计有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。