bluemoehre / wave-php

PHP 类,用于本地读取 WAV (RIFF-WAVE) 元数据并生成 SVG 波形图。 (仅限 PCM)

dev-master 2019-02-24 21:18 UTC

This package is not auto-updated.

Last update: 2024-09-18 05:15:38 UTC


README

PHP 类,用于本地读取 WAV (RIFF-WAVE) 元数据并生成 SVG 波形图。 (仅限 PCM)

安装

此类可以通过 Composer 容易地安装

composer require bluemoehre/wave-php

或者,您可以通过以下传统方式将其包含在内:下载并添加

require 'Wave.php'

如何使用

生成单个 SVG

use bluemoehre\Wave;

// load WAV file
$wave = new Wave('fooBar.wav');

// generate SVG and save to file
$wave->generateSvg('output.svg');

生成多个 SVG

$files = array('foo.wav', 'bar.wav');
$wave = new Wave();

foreach ($files as $file){
  $wave->setFile($file);
  $wave->generateSvg(preg_replace('/\.wav$/', '.svg', $file);
}

方法

  • generateSvg( string $outputFile [, float $resolution ] ) : string
    返回波形作为 SVG 代码。可选地保存到给定的文件名。

  • getBitsPerSample() : integer
    返回样本每位的数量

  • getByteRate() : integer
    返回音频字节数

  • getChannels() : integer
    返回音频通道数

  • getKiloBitPerSecond() : float
    返回音频数据率

  • getSampleRate() : integer
    返回音频采样率

  • getTotalSamples() : integer
    返回总音频样本数

  • getTotalSeconds( boolean $float ) : integer | float
    返回音频长度(以秒为单位)。默认情况下四舍五入 - 可选精确

待办事项

  • 添加对高分辨率波形文件的支持
  • 找到通过 CSS 样式波形的方法(可能允许设置样式路径)
  • 将 SVG 代码移动到外部文件(这样每个人都可以修改代码以满足所有需求)
  • 可配置的垂直 SVG 细节