audero / audero-wav-extractor
Audero Wav Extractor 是一个 PHP 库,允许从 wav 文件中提取数据块。提取的数据块可以保存到硬盘上,可以强制用户浏览器提示下载,也可以作为字符串返回以供后续处理。
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 14:22:38 UTC
README
Audero Wav Extractor 是一个 PHP 库,允许从 wav 文件中提取数据块。提取的数据块可以保存到硬盘上,可以强制用户浏览器提示下载,也可以作为字符串返回以供后续处理。
要求
此库需要 PHP 版本 5.3 或更高。
下载
通过 Composer 下载
您可以通过向您的 composer.json
文件添加以下行来通过 Composer 获取 "Audero Wav Extractor":
"require": {
"audero/audero-wav-extractor": "2.0.*"
}
然后运行 install
命令以解决和下载依赖项
php composer.phar install
Composer 将将库安装到您的项目的 vendor/audero
目录中。
通过 Git 下载
如果您还没有或不想使用 Composer,您可以通过以下命令从其 仓库 使用 Git 下载库:
git clone https://github.com/AurelioDeRosa/Audero-Wav-Extractor.git
用法
"Audero Wav Extractor" 非常容易使用。然而,由于该库使用命名空间并遵循 PSR 标准,您必须使用自动加载器来动态加载所需的类。之后,您必须创建一个 AuderoWavExtractor
实例,并调用最适合您需求的方法。使用 Audero Wav Extractor,您可以使用 downloadChunk()
下载数据块,使用 saveChunk()
将其保存到硬盘上,或使用 getChunk()
以字符串形式检索它。
通过 Composer 安装
如果您使用 Composer 安装了 "Audero Wav Extractor",则可以依赖内置的自动加载器。因此,在包含它之后,您可以使用以下示例中引用的任何一种方法。
从 wav 文件中提取数据块并强制用户浏览器下载
<?php
// Include the Composer autoloader
require_once 'vendor/autoload.php';
$inputFile = 'sample1.wav';
$outputFile = 'chunk.wav';
$start = 0 * 1000; // From 0 seconds
$end = 2 * 1000; // To 2 seconds
// Extract the chunk and save it on the hard disk
try {
$extractor = new \Audero\WavExtractor\AuderoWavExtractor($inputFile);
$extractor->downloadChunk($start, $end, $outputFile);
echo 'Chunk extraction completed.';
} catch (\Exception $ex) {
echo 'An error has occurred: ' . $ex->getMessage();
}
?>
通过 Git 安装
如果您通过 Git 获取了代码,则可以使用库提供的自动加载器。但是,在使用它之前,您必须将库的路径添加到 PHP 包含路径,如下例所示。
从 wav 文件中提取数据块并将其保存到本地磁盘
<?php
// Set include path
set_include_path(get_include_path() . PATH_SEPARATOR . __DIR__ . '/../src/');
// Include the class loader
require_once 'Audero\Loader\AutoLoader.php';
// Set the classes' loader method
spl_autoload_register('Audero\Loader\AutoLoader::autoload');
$inputFile = 'sample1.wav';
$outputFile = 'chunk.wav';
$start = 0 * 1000; // From 0 seconds
$end = 2 * 1000; // To 2 seconds
// Extract the chunk and force the download to the user browser
try {
$extractor = new \Audero\WavExtractor\AuderoWavExtractor($inputFile);
$extractor->saveChunk($start, $end, $outputFile);
echo 'Chunk extraction completed.';
} catch (\Exception $ex) {
echo 'An error has occurred: ' . $ex->getMessage();
}
?>
资源
- http://www.sonicspot.com/guide/wavefiles.html
- http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/WAVE/WAVE.html
许可证
Audero Wav Extractor 的许可证为 CC BY-NC 3.0("Creative Commons Attribution NonCommercial 3.0")
作者
Aurelio De Rosa(Twitter:@AurelioDeRosa)